Jak mogę wyciszyć robocopy w wierszu poleceń z wyjątkiem postępu?


105

Używam robocopy do tworzenia kopii zapasowych za pomocą skryptu PowerShell i jest całkiem niesamowity, z wyjątkiem tego, że chciałbym, aby pokazywał tylko procent postępu podczas kopiowania, a nie wszystkie inne informacje.

Pozostałe informacje zaśmiecają okno poleceń, które chciałbym wyczyścić i uprościć, aby łatwo było zobaczyć ogólny postęp tworzenia kopii zapasowej.

czy to możliwe?

Dzięki, Andrew

Odpowiedzi:


192

Dodałem następujące 2 parametry: /np /nfl

Więc razem z 5 parametrami z AndyGeek'sodpowiedzi, które są /njh /njs /ndl /nc /nsnastępujące, i jest cicha:

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
Nadal jest wyświetlany komunikat „100%”.
Scott Chu

13
To nadal wyświetla pojedynczą pustą linię, co jest zauważalne w plikach wsadowych.
wqw

7
/nc /nsnie jest konieczne, gdy /nfl /ndljest określone.
Vojtěch Dohnal

3
@wqw, po prostu dodaj> NUL na EOL, a pusty wiersz jest historią.
Herb

2
@ScottChu Drukuje 100%, gdy używasz przełącznika / mt. Chyba trzeba będzie zdecydować, czy chcesz wielowątkowe, czy nie przedstawiono% s
Loaf

40

Zrobiłem to, korzystając z następujących opcji:

/njh /njs /ndl /nc /ns

Zwróć uwagę, że nazwa pliku nadal jest wyświetlana, ale dla mnie to w porządku.

Aby uzyskać więcej informacji na temat robocopy, przejdź do http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx


3
/ nfl, aby pominąć nazwę pliku
xagyg

12
Pojawia się, jeśli używasz /mirlub /purgedodatkowe pliki są nadal rejestrowane. Nie mogę znaleźć sposobu, żeby to wyłączyć.
bbodenmiller

1
Zwróć uwagę, że w przypadku robocopy pasek postępu pokazuje tylko% na plik, nie pokazuje postępu z całkowitą liczbą skopiowanych bajtów z całości /% tego.
barlop,

Bardzo interesujące docenienie @bbodenmiller ... Bardzo irytujące logowanie tych plików ...
toscanelli

18

Jeśli nie chcesz w ogóle żadnych wyników, jest to najprostszy sposób:

robocopy src dest > nul

Jeśli nadal potrzebujesz informacji i chcesz usunąć tylko część wyniku, użyj parametrów z R.Koene'sodpowiedzi.


5
I badanie > log:nulpod win8.1 x64 znajduje się pusty plik dziennika. > nuldziała zgodnie z oczekiwaniami.
Ivan Yan

1
„Pusty” logplik, który generuje, nie jest nawet naprawdę pusty. Po prostu zapisuje dane w alternatywnym strumieniu, który jest niewidoczny dla Eksploratora, ale nadal jest obecny na dysku. (Możesz to sprawdzić, używając dir /rpolecenia, aby je wyświetlić). @IvanYan jest poprawne, > nuljest poprawnym poleceniem, aby całkowicie odrzucić dane wyjściowe.
jmbpiano

16

W PowerShell lubię używać:

robocopy src dest | Out-Null

Pozwala to uniknąć konieczności zapamiętywania wszystkich przełączników wiersza poleceń.


Robiąc to, natychmiast zabił polecenie bez ostrzeżenia. Używałem /PURGE.
Sawtaytoes

Wartość Out-Null nie powinna mieć wpływu na wykonanie polecenia robocopy. Po prostu przekierowuje strumień wyjściowy. msdn.microsoft.com/en-us/powershell/reference/4.0/… Możesz spróbować usunąć wartość Out-Null, aby sprawdzić, czy odrzucone dane wyjściowe zawierają jakąkolwiek wskazówkę dotyczącą tego, co się dzieje.
Aaron Tribou

2

Obejściem problemu, jeśli chcesz, aby był absolutnie cichy, jest przekierowanie wyjścia do pliku (i opcjonalnie usunięcie go później).

Robocopy src dest > output.log
del output.log

6
także> NUL po prostu odrzuca wyjście, nie trzeba się martwić o plik.
Sellorio,

1
lub potokiem do Out-Nullw PowerShell
orad

2

robocopy ma również tendencję do drukowania pustych linii, nawet jeśli nic nie robi. Odfiltrowuję puste wiersze za pomocą takiego polecenia:

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

0

> Null nie działa w cudzysłowach. Widzi> null jako nazwę pliku wsadowego.

Robocopy nie działało !!!

Oto nowy plik wsadowy:

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

Nie ma potrzeby przekierowywania do pliku i usuwania go później. Próbować:

Robocopy src dest > null 

2
Spowoduje to utworzenie pliku nulli zapisanie w nim dziennika. Wycisza go w wierszu poleceń kosztem zapisów na dysku.
Sawtaytoes
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.