Làm cách nào để làm cho nội dung tự động im lặng trong dòng lệnh ngoại trừ tiến trình?


105

Tôi đang sử dụng robocopy để thực hiện sao lưu với tập lệnh PowerShell và nó khá tuyệt vời, ngoại trừ việc tôi muốn nó chỉ hiển thị phần trăm tiến độ trong khi sao chép chứ không phải tất cả các thông tin khác.

Thông tin khác làm lộn xộn cửa sổ lệnh, mà tôi muốn làm sạch và đơn giản để có thể dễ dàng xem tiến trình tổng thể của quá trình sao lưu.

Điều này có khả thi không?

Cảm ơn, Andrew

Câu trả lời:


192

Tôi đã thêm 2 tham số sau: /np /nfl

Vì vậy, cùng với 5 tham số từ AndyGeek'scâu trả lời, /njh /njs /ndl /nc /nsbạn nhận được những thông số sau và nó im lặng:

ROBOCOPY [source] [target] /NFL /NDL /NJH /NJS /nc /ns /np

/NFL : No File List - don't log file names.
/NDL : No Directory List - don't log directory names.
/NJH : No Job Header.
/NJS : No Job Summary.
/NP  : No Progress - don't display percentage copied.
/NS  : No Size - don't log file sizes.
/NC  : No Class - don't log file classes.

2
Vẫn có thông báo "100%" được hiển thị.
Scott Chu

13
Điều này vẫn in ra một dòng trống duy nhất đáng chú ý trong các tệp hàng loạt.
wqw

7
/nc /nskhông cần thiết khi /nfl /ndlđược chỉ định.
Vojtěch Dohnal

3
@wqw, chỉ cần thêm một> NUL tại EOL, và dòng trống là lịch sử.
Herb

2
@ScottChu Điều này sẽ in 100% khi bạn sử dụng công tắc / mt. Tôi đoán bạn sẽ phải quyết định xem bạn muốn đa luồng, hoặc không có% s hiện
Loaf

40

Tôi đã làm điều đó bằng cách sử dụng các tùy chọn sau:

/njh /njs /ndl /nc /ns

Lưu ý rằng tên tệp vẫn hiển thị, nhưng điều đó tốt đối với tôi.

Để biết thêm thông tin về nội soi tự động, hãy truy cập http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx


3
/ nfl để ngăn chặn tên file
xagyg

12
Xuất hiện nếu bạn sử dụng /mirhoặc /purgecác tệp bổ sung vẫn được ghi lại. Không thể tìm cách để tắt điều đó.
bbodenmiller

1
lưu ý rằng với robocopy, thanh tiến trình chỉ là% trên mỗi tệp, không hiển thị tiến trình với tổng số byte được sao chép trong tổng số /% của nó.
barlop

@Bbodenmiller đánh giá cao rất thú vị ... rất khó chịu logging những tập tin ...
Toscanelli

18

Nếu bạn không muốn có đầu ra nào thì đây là cách đơn giản nhất:

robocopy src dest > nul

Nếu bạn vẫn cần một số thông tin và chỉ muốn tách các phần của đầu ra, hãy sử dụng các tham số từ R.Koene'sanswer.


5
Tôi kiểm tra > log:nultheo win8.1 x64, có một tệp nhật ký trống. > nulhoạt động như mong đợi.
Ivan Yan

1
Tệp "trống" logmà nó tạo ra thậm chí không thực sự trống. Nó chỉ lưu dữ liệu vào một luồng thay thế mà Explorer không nhìn thấy được, nhưng vẫn còn rất nhiều trên đĩa. (Bạn có thể kiểm tra bằng cách sử dụng dir /rlệnh để hiển thị nó.) @IvanYan là đúng, > nullà lệnh chính xác để loại bỏ hoàn toàn đầu ra.
jmbpiano

16

Trong PowerShell, tôi thích sử dụng:

robocopy src dest | Out-Null

Nó tránh phải nhớ tất cả các công tắc dòng lệnh.


Khi làm điều này, nó ngay lập tức giết lệnh mà không có cảnh báo. Tôi đã sử dụng /PURGE.
Sawtaytoes

Out-Null sẽ không ảnh hưởng đến việc thực thi lệnh robocopy. Nó chỉ đơn giản là chuyển hướng luồng đầu ra. msdn.microsoft.com/en-us/powershell/reference/4.0/… Bạn có thể thử loại bỏ Out-Null để xem liệu đầu ra bị loại bỏ có cung cấp bất kỳ manh mối nào cho điều gì đang xảy ra hay không.
Aaron Tribou

2

Một cách giải quyết, nếu bạn muốn nó hoàn toàn im lặng, là chuyển hướng đầu ra đến một tệp (và tùy chọn xóa nó sau đó).

Robocopy src dest > output.log
del output.log

6
cũng> NUL chỉ cần loại bỏ đầu ra, không cần lo lắng về tệp.
Sellorio

1
hoặc chuyển đến Out-Nulltrong PowerShell
orad.

2

robocopy cũng có xu hướng in các dòng trống ngay cả khi nó không làm gì cả. Tôi đang lọc các dòng trống bằng lệnh như sau:

robocopy /NDL /NJH /NJS /NP /NS /NC %fromDir% %toDir% %filenames% | findstr /r /v "^$"

0

> Null không hoạt động trong dấu ngoặc kép. Nó coi> null là tên tệp hàng loạt.

Robocopy không có đầu ra hoạt động !!!

Đây là tệp lô mới:

robocopy /mir /B /r:1 /nfl /ndl /njh /njs /nc /ns /np c:\EnvBackup c:\offsite_backup\EnvBackup

robocopy /mir /B /r:1 /nfl /ndl /njh /njs /nc /ns /np c:\shares c:\offsite_backup\shares

robocopy /mir /B /r:1 /nfl /ndl /njh /njs /nc /ns /np c:\Quickbooks_Backup c:\offsite_backup\Quickbooks_Backup

-1

Không cần phải chuyển hướng đến một tệp và xóa nó sau đó. Thử:

Robocopy src dest > null 

2
Thao tác này tạo một tệp nullvà ghi nhật ký vào tệp đó. Nó làm yên lặng nó trong dòng lệnh với chi phí ghi ổ đĩa lưu trữ.
Sawtaytoes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.