2015-08-25 47 views
0

這是我在StackOverflow上的第一個問題,所以請善待;);我有幾臺計算機可以在不同的時間進行備份,每臺計算機有2到30個用戶,我想備份網絡中特定計算機的桌面,文檔和收藏夾文件夾。使用Robocopy備份特定用戶文件夾

最初,我試過使用XCOPY,但由於文件夾路徑的長度無法完成,所以我用ROBOCOPY代替,但是我卡住了。以下是我有:

SET source=c:\testA\Users 
SET dest=c:\testB    

rem Desktop folder backup 

for /D %%G in (%source%\*) DO ( 
if exist "%%G\Desktop" ROBOCOPY /e /s /MIR /copyall "%%G\Desktop" "%dest%\%%G\Desktop") 

該命令不能在運行時創建的目標文件夾%dest%\%%G\Desktop這是這樣的:c:\testb\c:\testA\Users\"current username from for index %%G"\Desktop

它給我目標文件夾上的錯誤:「文件名的語法,目錄名稱或卷名稱不正確。」
理論上,除了dest文件夾,命令本身也可以工作,但也許我錯過了一些東西。有任何想法嗎?

回答

0

我想回答我自己的問題,因爲代碼的長度。 我設法得到的東西,除了排除目錄的工作,我想成爲......排除

這裏我得到的源和目標,從用戶輸入:

SET /p source="Hostname : " 
SET /p dest="Destination path : " 
SET /p _OS="a for XP b for W7 backup : " 
echo "you chose %_OS%" 

IF條件以獲得正確的基於路徑的Windows7文件夾以前選擇:

IF %_OS%==b ( 
     SET source=%source%\c$\Users 
     pause 

     echo !source! 
     echo %dest% 
     pause 

對於條件遍歷用戶的文件夾:

  FOR /D %%G in (!source!\*) DO (
       if exist %%G\Desktop ROBOCOPY %%G\Desktop %dest%\%%G\Desktop /XD !source!\admin /e /s /copy:datsou 

     ) 
     PAUSE 

執行代碼時!source!\ admin獲取正確的路徑以排除,但robocopy只是複製它。 我也嘗試指定路徑:「\ computer1 \ c $ \ Users \ admin」帶或不帶引號,效果相同,路徑不含義。

任何想法???

+0

我獨自一人似乎,我會繼續寫作,也許這可以幫助某人。 ROBOCOPY不能排除他所在的文件夾,如果FOR索引指向我想排除的目錄,robocopy不能排除它。即當前路徑C:\ Users \ Admin \ Desktop --->/XD \ Admin – user5236878

相關問題