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

时间:2010-10-09 22:26:45

标签: backup robocopy

我正在使用robocopy来使用PowerShell脚本进行备份,这非常棒,除非我希望它只在复制时显示进度百分比而不是所有其他信息。

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

这可能吗?

谢谢, 安德鲁

9 个答案:

答案 0 :(得分:151)

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

因此,与AndyGeek's回答中的5个参数一起使用/njh /njs /ndl /nc /ns,您得到以下内容并且它是静默的:

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.

答案 1 :(得分:34)

我是通过使用以下选项完成的:

/njh /njs /ndl /nc /ns

请注意,文件名仍会显示,但对我来说没问题。

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

答案 2 :(得分:12)

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

robocopy src dest > nul

如果您仍需要某些信息并且只想删除部分输出,请使用R.Koene's answer中的参数。

答案 3 :(得分:11)

在PowerShell中,我喜欢使用:

robocopy src dest | Out-Null

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

答案 4 :(得分:2)

如果您希望它完全无声,则解决方法是将输出重定向到文件(并可选择稍后将其删除)。

Robocopy src dest > output.log
del output.log

答案 5 :(得分:1)

即使没有做任何事情,robocopy也会打印出空行。我正在使用如下命令过滤掉空行:

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

答案 6 :(得分:0)

> null在引号中不起作用。它看到> null作为批处理文件名。

robocopy没有输出工作!!!

这是新的批处理文件:

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

答案 7 :(得分:0)

我不确定它是否正确,但我在 Gitlab 中使用了它并且它有效:

robocopy <src> <dst> *.dll *.exe *.bat /E; $LastExitCode

答案 8 :(得分:-1)

无需重定向到文件并稍后将其删除。 尝试:

Robocopy src dest > null