128 votes

Comment faire pour que robocopy soit silencieux en ligne de commande, sauf pour la progression ?

J'utilise robocopy pour faire des sauvegardes avec un script PowerShell, et c'est plutôt génial, sauf que j'aimerais qu'il n'affiche que 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 simplifierais pour qu'il soit facile de voir la progression globale de la sauvegarde.

Est-ce possible ?

Merci, Andrew

232voto

R. Koene Points 281

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

Ainsi, avec les 5 paramètres de AndyGeek's réponse, qui sont /njh /njs /ndl /nc /ns vous obtenez ce qui suit et c'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.

42voto

AndyGeek Points 570

Je l'ai fait en utilisant les options suivantes :

/njh /njs /ndl /nc /ns

Notez que le nom du fichier s'affiche toujours, mais cela me convient parfaitement.

Pour plus d'informations sur la robocopie, consultez le site suivant http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx

24voto

SHernandez Points 142

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 de certaines informations et que vous voulez seulement dépouiller des parties de la sortie, utilisez les paramètres de R.Koene's réponse.

19voto

Aaron T Points 36

Dans PowerShell, j'aime utiliser :

robocopy src dest | Out-Null

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

3voto

TarmoPikaro Points 11

Robocopy a aussi tendance à imprimer des lignes vides même s'il ne fait rien. Je filtre les lignes vides en utilisant une commande comme celle-ci :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X