如何让 robocopy 使用包含空格的日志文件?

如何让 robocopy 使用包含空格的日志文件?

我正在尝试以下命令:

robocopy "x:\dir" "y:\dir" /mir /z /tee /fft /nfl /ndl /eta /log:"x:\path to logs\12-15-11 01 file with spaces.txt"

我收到此错误:

ERROR : Invalid Parameter #10 : "/log:x:\path to logs\12-15-11 01 file with spaces.txt"

编辑#1

事实证明上述命令是有效的,我的路径有拼写错误。如果您的路径包含空格,则可以将它们提供给 robocopy 的 /log 开关,如下所示:/log:"c:\path to a file\robocopy.log"

答案1

如果您需要向 robocopy 的 /log 开关提供包含空格的路径,您可以这样做:

/log:"c:\path to logs files\some log file.txt"

答案2

Powershell 文档中有四种日志记录方式

/log:<LogFile>:将状态输出写入日志文件(覆盖现有的日志文件)。

  • 例如:robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"

/log+:<LogFile>:将状态输出写入日志文件(将输出附加到现有日志文件)。

  • 例如:robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"

/unilog:<LogFile>:将状态输出以 Unicode 文本形式写入日志文件(覆盖现有日志文件)。

  • 例如:robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"

/unilog+:<LogFile>:将状态输出作为 Unicode 文本写入日志文件(将输出附加到现有日志文件)。

  • 例如:robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"

更多细节https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx

答案3

当需要管理员权限/或 pop 在该目录中创建文件时,就会发生这种情况

因此,尝试有一个 log/temp 目录,并尝试将日志文件添加到该日志目录中

$ mkdir C:\log

例如:

$ robocopy "c:\a" "c:\b" /log:"c:\log\copy_log.log"

答案4

如果日志文件的路径包含空格或其他脚本分隔符,请将其包含在引号如您的编辑 #1 和 @slm 建议的那样。但同时请注意转义字符的使用,如有关批处理脚本的此文档

相关内容