除了进度之外,如何让robocopy在命令行中保持沉默?

我使用的是robocopy,通过PowerShell脚本进行备份,除此之外,我希望它只显示复制时的进度百分比,而不是所有其他信息。

其他信息凌乱了命令窗口,我将其清理简单,以便于查看备份的整体进度。

这可能吗?

谢谢你,安德鲁

我添加了以下2个参数: /np /nfl

所以加上来自AndyGeek's答案,这是/njh /njs /ndl /nc /ns的5个参数,你会得到以下,它是沉默的:

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. 

我通过使用以下选项做到了这一点:

 /njh /njs /ndl /nc /ns 

请注意,文件名仍然显示,但这对我来说很好。

有关robocopy的更多信息,请访问http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx

在PowerShell中,我喜欢使用:

 robocopy src dest | Out-Null 

它避免了必须记住所有的命令行开关。

如果你不想输出,这是最简单的方法:

robocopy src dest > nul

如果你仍然需要一些信息,只想R.Koene's部分输出,使用R.Koene's答案中的参数。

解决方法是将输出redirect到文件(也可以稍后删除)。

 Robocopy src dest > output.log del output.log 

robocopy也倾向于打印空行,即使它不做任何事情。 我用这样的命令过滤空行:

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

> null在引号中不起作用。 它将> null看作batch file名。

robocopy没有输出工作!

这是新的batch file:

 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 

没有必要redirect到文件并稍后删除。 尝试:

 Robocopy src dest > null