Robocopy在PowerShell中不起作用

时间:2016-06-30 17:57:11

标签: powershell robocopy

我正在尝试在PowerShell中运行robocopy脚本,以便将其插入到我的其他PowerShell脚本中:

$SERVERPATH = "E:\Cisco Config Backups"
$NETWORKPATH = "\\SERVER\Cisco Config Backups"
robocopy $SERVERPATH $NETWORKPATH /E /XC /XN /XO /R:0 /W:0 /COPY:T /LOG:C:\logs\robocopy_logs\config_copy.log /TEE /NP

然而,当我运行此代码时,我看到robocopy正在工作,它给了我以下输出:       ROBOCOPY ::适用于Windows的强大文件复制

  Started : Thursday, June 30, 2016 1:52:56 PM
  Source : E:\Cisco Config Backups
  Dest : \\SERVER\Cisco Config Backups

  Files : *.*

  Options : *.* /TEE /S /E /DCOPY:D /COPY:T /NP /XO /XN /XC /R:0 /W:0 

但是没有任何东西被复制过来,我想使用robocopy进行日志记录,所以我可以让它跳过已经存在的文件。

如果我做错了,请告诉我。

1 个答案:

答案 0 :(得分:2)

/COPY:T条件指定仅复制文件时间戳,因此它不会复制文件的实际数据。但是,由于目标上没有要复制时间戳的文件,因此没有任何反应。

您需要至少指定/COPY:DT以便复制文件数据,但您可以完全删除/COPY开关,因为您可能也需要文件属性,这将获得默认情况下与文件数据和时间戳一起复制。

来自robocopy /?:

/COPY:copyflag[s] :: what to COPY for files (default is /COPY:DAT).  
                    (copyflags : D=Data, A=Attributes, T=Timestamps).  
                    (S=Security=NTFS ACLs, O=Owner info, U=aUditing info)

您还需要检查您正在使用的所有交换机,因为有些交换机存在冲突 - 不确定robocopy在这些情况下的作用。正如Matt在下面的评论中指出的那样,您有/E/S。你想复制空子目录吗? /E指定复制空目录,但/S指定不复制空目录。

相关问题