带有日志+报告日期的机器人副本



我正在运行一个 Robocopy 命令,现在我曾经工作的地方遇到了一个奇怪的错误。 我确实看了其他几篇 StackExchange 文章,但它们并没有涉及我正在处理的内容。

  1. 谈论 C# 代码
  2. 用于 Robocopy 记录创建日期的命令
  3. 在文件名中创建具有当前日期的文件 + 机器人复制日志记录
  4. 机器人复制:错误:参数 #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> 将状态输出写入日志文件(追加 输出到现有日志文件(。

最新更新