127

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

其他信息使命令窗口杂乱无章,我将其清理和简单,以便轻松查看备份的整体进度。

这可能吗?

谢谢,安德鲁

4

9 回答 9

227

我添加了以下 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.
于 2011-09-20T15:27:03.803 回答
42

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

/njh /njs /ndl /nc /ns

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

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

于 2010-10-09T22:37:34.527 回答
24

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

robocopy src dest > nul

如果您仍然需要一些信息并且只想剥离部分输出,请使用 answer.xml 中的参数R.Koene's

于 2014-06-10T17:06:01.700 回答
19

在 PowerShell 中,我喜欢使用:

robocopy src dest | Out-Null

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

于 2015-07-30T20:09:33.113 回答
3

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

robocopy /NDL /NJH /NJS /NP /NS /NC %fromDir% %toDir% %filenames% | findstr /r /v "^$"
于 2016-09-16T06:51:23.153 回答
2

如果您希望它完全静默,一种解决方法是将输出重定向到文件(并且可以选择稍后将其删除)。

Robocopy src dest > output.log
del output.log
于 2013-07-12T12:05:55.023 回答
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
于 2017-10-09T22:47:23.490 回答
0

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

robocopy <src> <dst> *.dll *.exe *.bat /E; $LastExitCode
于 2021-05-13T12:36:56.583 回答
-2

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

Robocopy src dest > null 
于 2016-12-26T08:35:53.157 回答