2014-09-03 117 views
0

我試圖使用批處理文件將文件從一個驅動器複製到另一個驅動器,這是可行的!但我們一直在更改我們的主文件上的文件名,這會在每次運行時創建具有不同名稱的附加副本。我不想完全刪除複製文件,因爲複製只需複製的時間長度。我想比較兩個文件並刪除不再在主驅動器上的文件,這裏是我正在進行的測試。感謝你給與我的幫助。使用批處理文件刪除和複製文件

@echo 
cls 
If not exist "C:\Users\Jeremy\Desktop\Test Main\*.*" "Del "C:\Users\Jeremy\Desktop\Test Clone\*.*" 
xcopy "C:\Users\Jeremy\Desktop\Test Main\*.*" "C:\Users\Jeremy\Desktop\Test Clone\*.*" /D /C /E /S /I /Y /V /H /R /F /d:01-01-1998 
pause 

:abort 
echo You pressed CTRL+C to end the copy operation. 
goto exit 
+0

作爲你解釋說:複製過程很冗長 - 但是任何按內容比較所有文件的過程將會等長或更長。它可以通過文件大小比較嗎? (你說文件名改變了)你能概述這些文件的構成類型嗎? – foxidrive 2014-09-04 03:33:29

回答

0

你可能想看看robocopy,專門與/mir開關,後視鏡源文件夾(複製所有的新文件,並刪除所有不再現有的文件)到目標。

0

感謝 這確實工作

@echo 
cls 
robocopy /MIR "C:\Users\Jeremy\Desktop\Test Main" "C:\Users\Jeremy\Desktop\Test Clone" 
pause 

:abort 
echo You pressed CTRL+C to end the copy operation. 
goto exit 

但我還是想知道如果任何人都可以或願意花時間來糾正我原來的問題

0

嘗試:

@echo off 
cls 
If not exist "C:\Users\Jeremy\Desktop\Test Main\*.*" "Del "C:\Users\Jeremy\Desktop\Test Clone\*.*" 
xcopy "C:\Users\Jeremy\Desktop\Test Main\*.*" "C:\Users\Jeremy\Desktop\Test Clone\*.*" /D /C /E /S /I /Y /V /H /R /F /d:01-01-1998 

If %errorlevel% EQU 2 (
echo You pressed CTRL+C to end the copy operation. 
) 
pause