【问题标题】:Robotcopy with log + report date带有日志 + 报告日期的 Robocopy
【发布时间】:2017-03-21 15:13:46
【问题描述】:

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

  1. Talks about C# code
  2. Command for Robocopy to log created date
  3. Create File with current Date in Filename + Robocopy logging
  4. Robocopy: ERROR : Invalid Parameter #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:\Results\RoboCopyLog_21-03-2017-07-24-56.t
xt"

       Simple Usage :: ROBOCOPY source destination /MIR

             source :: Source Directory (drive:\path or \\server\share\path).
        destination :: Destination Dir  (drive:\path or \\server\share\path).
               /MIR :: Mirror a complete directory tree.

    For more usage information run ROBOCOPY /?


****  /MIR can DELETE files as well as copy them !

我用来创建我的 robocopy 作业的命令如下:

$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

【问题讨论】:

  • parameter 是 /Log,而不是 /L。
  • 感谢您帮助我查看代码中的错误。它与 /L 一起工作似乎很奇怪,但嘿,它又开始工作了。

标签: powershell command-line timestamp runtime-error robocopy


【解决方案1】:

正如 Ansgar Wiechers 所提到的,您的问题是在致电您的 /L:RoboCopyLog 时。

如果您查看 Robocopy here 的文档,您会发现:

/l 指定仅列出文件(而不是复制、删除或时间戳)。

而您需要的是这些中的任何一个,具体取决于您是否要追加:

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

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

【讨论】:

    猜你喜欢
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多