使用批处理文件删除和复制文件

时间:2014-09-03 16:21:17

标签: batch-file

我试图使用批处理文件将文件从一个驱动器复制到另一个驱动器,这有效!但我们一直在主文件上更改文件名,每次运行时都会创建具有不同名称的附加副本。我不想完全删除复制文件,因为副本只需要复制的时间长度。我想比较2个文件并删除不再在主驱动器上的文件,这是我正在进行的测试。感谢你给与我的帮助。

@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 

3 个答案:

答案 0 :(得分:0)

您可能希望查看robocopy,特别是/mir开关,它将源文件夹镜像(复制所有新文件并删除所有不再存在的文件)到目标。

答案 1 :(得分: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 

但我仍然想知道是否有人能够或想要花时间纠正我原来的问题

答案 2 :(得分: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