2015-12-02 337 views
0

我正在使用robocopy將所有文件和文件夾從一個目錄複製到另一個目錄。 每次腳本執行時,該目錄都將被複制到一個新的帶時間戳的文件夾中。批量使用robocopy找不到目的地目錄

但是我收到follwoing錯誤:

No destination directory Specfied

下面是代碼:

echo off 


set newDirectory = C:\Users\cmooney\Desktop 

set DirName=%date:~-4,4%.%date:~-7,2%.%date:~0,2%.%time:~0,2%.%time:~3,2% 
MD \%newDirectory% 

set source = C:\Users\cmooney\Desktop\FolderA 



rem /e copy all subdirs /z try again if fails /NMir copy only new files 

robocopy %source% %DirName% /e /z /Mir 


rem leave cmd line open 
pause 



REM If there are no changes, robocopy will not copy anything. If you have tried 

REM and it worked, .... if no changes, no file copy. 

任何輸入讚賞

+0

'MD%newDirectory%\%Dirname%' – Squashman

+1

'%newDirectory%'和'%source%'沒有被定義,因爲'SET'命令中有空格。 –

回答

1

的問題是在你的SET命令的空間。例如:

set source = C:\Users\cmooney\Desktop\FolderA 

創建一個名爲variabled %source %(注意結尾的空間)值爲C:\Users\cmooney\Desktop\FolderA(注意開頭的空格)。

因此,當您嘗試使用%source%時,它實際上不存在。這與%newDirectory%一樣。

相反,設定的變量,像這樣:

set "newDirectory=C:\Users\cmooney\Desktop" 
set "source=C:\Users\cmooney\Desktop\FolderA" 

這將確保不包含任何前/後間隔。

+0

明白了吧:) – dancingbush