¿Cómo puedo hacer que robocopy sea silencioso en la línea de comandos, excepto por el progreso?


Estoy usando robocopy para hacer copias de seguridad con un script de PowerShell, y es bastante impresionante, excepto que me gustaría que solo muestre el porcentaje de progreso mientras copia y no toda la otra información.

La otra información estorba la ventana de comandos, que limpiaría y simplificaría para que sea fácil ver el progreso general de la copia de seguridad.

Es esto posible?

Gracias, Andrew

Author: Jay Bazuzi, 2010-10-10

8 answers

He añadido los siguientes 2 parámetros: /np /nfl

Así que junto con los 5 parámetros de AndyGeek's respuesta, que son /njh /njs /ndl /nc /ns se obtiene lo siguiente y es silencioso:

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
Author: R. Koene,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-02 17:08:19

Lo hice usando las siguientes opciones:

/njh /njs /ndl /nc /ns

Tenga en cuenta que el nombre del archivo todavía se muestra, pero eso está bien para mí.

Para obtener más información sobre robocopy, vaya a http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx

 29
Author: AndyGeek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-29 17:49:06

En PowerShell, me gusta usar:

robocopy src dest | Out-Null

Evita tener que recordar todos los conmutadores de línea de comandos.

 10
Author: Aaron Tribou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-30 20:09:33

Si no desea ninguna salida, esta es la forma más simple:

robocopy src dest > nul

Si todavía necesita alguna información y solo desea eliminar partes de la salida, use los parámetros de R.Koene's respuesta.

 9
Author: SHernandez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-07 23:38:35

Una solución alternativa, si desea que sea absolutamente silenciosa, es redirigir la salida a un archivo (y opcionalmente eliminarlo más tarde).

Robocopy src dest > output.log
del output.log
 2
Author: HSM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-12 12:05:55

Robocopy también tiende a imprimir líneas vacías, incluso si no hace nada. Estoy filtrando las líneas vacías usando un comando como este:

robocopy /NDL /NJH /NJS /NP /NS /NC %fromDir% %toDir% %filenames% | findstr /r /v "^$"
 1
Author: TarmoPikaro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-16 06:51:23

El > null no funciona entre comillas. Ve el > null como el nombre de archivo por lotes.

La salida robocopy no funcionó!!!

Aquí está el nuevo archivo por lotes:

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
Author: Jason L,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-10 04:14:19

No hay necesidad de redirigir a un archivo y eliminarlo más tarde. Try:

Robocopy src dest > null 
 -1
Author: areB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-26 09:00:47