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

其他信息缩小了命令窗口,我会清理和简单,因此很容易看到备份的整体进度。

这可能吗?

谢谢,安德鲁

有帮助吗?

解决方案 2

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

/njh /njs /ndl /nc /ns

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

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

其他提示

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

因此,与来自的5个参数一起 AndyGeek's 答案,这是 /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.

如果您完全不想要输出,这是最简单的方法:

robocopy src dest > nul

如果您仍然需要一些信息,并且只想剥离输出部分,请使用来自 R.Koene's 回答。

在Powershell中,我喜欢使用:

robocopy src dest | Out-Null

它避免了必须记住所有命令行切换。

如果您希望它绝对保持沉默,则可以将输出重定向到文件(并在稍后选择将其删除)。

Robocopy src dest > output.log
del output.log

即使没有做任何事情,Robocopy也倾向于打印空线。我正在使用这样的命令过滤空线路:

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

> 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

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

Robocopy src dest > null 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top