2016-06-30 60 views
0

我試圖在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

/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指定不復制空目錄。

+1

我認爲這還不止這些。還有其他一些考慮因素。重試降到0,所以它不會對故障做出反應。 xo和xn一起排除依賴目的地的較舊和較新的文件。 s和e說複製子目錄,但都包含和排除空目錄。可能沒有什麼。 – Matt

+0

這樣做的技巧,我錯過了複製D,也有XO XN,所以它不會覆蓋任何文件 – user2214162

相關問題