Comment puis-je rendre robocopy silencieux dans la ligne de commande, sauf pour la progression?

J'utilise robocopy pour faire des sauvegardes avec un script PowerShell, et c'est assez génial, sauf que j'aimerais qu'il montre seulement le pourcentage de progression pendant qu'il copie et pas toutes les autres informations.

Les autres informations encombrent la fenêtre de commande, que je nettoierais et simple pour qu'il soit facile de voir la progression globale de la sauvegarde.

Est-ce possible?

Merci, Andrew

75
demandé sur Jay Bazuzi 2010-10-10 02:26:44

8 réponses

J'ai ajouté les 2 paramètres suivants: /np /nfl

Ainsi, avec les 5 paramètres de la réponse AndyGeek's, qui sont /njh /njs /ndl /nc /ns, vous obtenez ce qui suit et il est silencieux:

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.
137
répondu R. Koene 2016-07-02 17:08:19

Je l'ai fait en utilisant les options suivantes:

/njh /njs /ndl /nc /ns

Notez que le nom du fichier s'affiche toujours, mais c'est bien pour moi.

Pour plus d'informations sur robocopy, allez à la http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx

29
répondu AndyGeek 2015-07-29 17:49:06

Dans PowerShell, j'aime utiliser:

robocopy src dest | Out-Null

Il évite d'avoir à se souvenir de tous les commutateurs de ligne de commande.

10
répondu Aaron Tribou 2015-07-30 20:09:33

Si vous ne voulez pas de sortie du tout, c'est le moyen le plus simple:

robocopy src dest > nul

Si vous avez encore besoin d'informations et que vous voulez seulement supprimer des parties de la sortie, utilisez les paramètres de la réponse R.Koene's.

9
répondu SHernandez 2017-04-07 23:38:35

Une solution de contournement, si vous voulez qu'il soit absolument silencieux, consiste à rediriger la sortie vers un fichier (et éventuellement la supprimer plus tard).

Robocopy src dest > output.log
del output.log
2
répondu HSM 2013-07-12 12:05:55

Robocopy a également tendance à imprimer des lignes vides même si elle ne fait rien. Je filtre les lignes vides en utilisant la commande comme ceci:

robocopy /NDL /NJH /NJS /NP /NS /NC %fromDir% %toDir% %filenames% | findstr /r /v "^$"
1
répondu TarmoPikaro 2016-09-16 06:51:23

Le > null ne fonctionne pas dans les guillemets. Il voit le > null comme nom de fichier de lot.

Le robocopy aucune sortie n'a fonctionné!!!

Voici le nouveau fichier batch:

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
0
répondu Jason L 2017-10-10 04:14:19

Il n'y a pas besoin de rediriger vers un fichier et de le supprimer plus tard. Essayez:

Robocopy src dest > null 
-1
répondu areB 2016-12-26 09:00:47