我正在运行一个 Robocopy 命令,现在我曾经工作的地方遇到了一个奇怪的错误。 我确实看了其他几篇 StackExchange 文章,但它们并没有涉及我正在处理的内容。
- 谈论 C# 代码
- 用于 Robocopy 记录创建日期的命令
- 在文件名中创建具有当前日期的文件 + 机器人复制日志记录
- 机器人复制:错误:参数 #4 无效
我创建了一些代码,在 robocopy 日志的末尾添加一个日期。
$ReportDate = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")
$RoboCopyLog = New-Item -itemType File -Path C:Results -Name $("RoboCopyLog_" + $ReportDate + ".txt")
我有日志可以正常工作,但是经过一些Windows更新并且几周没有碰它,我现在收到此错误。
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Tuesday, March 21, 2017 7:24:56 AM
Source - C:MyTests
Dest - C:NewTests
Files :
Options : /S /E /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
ERROR : Invalid Parameter #4 : "/L:C:ResultsRoboCopyLog_21-03-2017-07-24-56.t
xt"
Simple Usage :: ROBOCOPY source destination /MIR
source :: Source Directory (drive:path or \serversharepath).
destination :: Destination Dir (drive:path or \serversharepath).
/MIR :: Mirror a complete directory tree.
For more usage information run ROBOCOPY /?
**** /MIR can DELETE files as well as copy them !
我用于创建机器人复制作业的命令如下所示:
$RoboCopy2 = Start-Job {
$Results = "C:Results"
$Source = "C:MyTests"
$Destination = "C:NewTests"
$ReportDate = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")
$RoboCopyLog = New-Item -itemType File -Path C:Results -Name $("RoboCopyLog_" + $ReportDate + ".txt")
Robocopy $Source $Destination /E /L:$RoboCopyLog
}
Wait-Job $RoboCopy2
Receive-Job $RoboCopy2
正如Ansgar Wiechers所提到的,你的问题是在打电话给你的/L:RoboCopyLog
时。
如果您在此处查看 Robocopy 的文档,您会发现:
/l 指定仅列出文件(而不是复制、删除或时间戳(。
而您需要的是以下任一选项,具体取决于您是否要附加:
/日志:
<LogFile>
将状态输出写入日志文件(覆盖现有日志文件(。/log+:
<LogFile>
将状态输出写入日志文件(追加 输出到现有日志文件(。