我正在尝试以下命令:
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 建议的那样。但同时请注意转义字符的使用,如有关批处理脚本的此文档。