我是新手,但尝试创建一个批处理文件,该文件读取源的文件夹内容,将文件与目标进行比较,备份匹配项,然后将源文件移动到目标位置。我想在某种程度上,源目录中的文件内容可以作为掩码使用。
我可以用一种技术来获得这个结果吗?我已经尝试了Robocopy
和XCopy
,但不是我想要的。 XCopy
有一个排除选项,但这与我需要的相反。任何建议都会非常感激。
设置如下:
这些文件夹包含此
Parent_folder_new
Folder1 Folder2 Folder3
File1 File1 File1
File2 File2 File2
File3 File3 File3
我有新文件来替换旧文件:
Parent_folder_old
Folder1 Folder2 Folder3
File2 File1 File1
File3 File3
在源文件覆盖目标文件之前,我只需要备份即将被覆盖的文件。
我尝试了if语句,但我不知道在那之后去哪里
Set folder[1]=folder1
Set folder[2]=folder2
Set folder[3]=folder3
for F "tokens=2 delims==" %%f in ('set folder[') do (
if Parent_folder_new\%%f==Parent_folder_old\%%f
::copy results of if statement to Parent_folder_backup\%%f
)
我希望这会在某种程度上清除我想要做的事情。
答案 0 :(得分:0)
我会用它来复制文件
copy /y C:\path\folder1 C:\destination
这是为了移动它
move /y C:\path\folder1 C:\destination
您必须将folder1更改为您想要的任何文件夹。我用它来备份我的拇指驱动器。
echo off
:start
echo What folder/files do you want to copy?
set /p copy=:
echo Is %copy% correct? (Y/N)
echo Note: This must be a directory path.
set /p final=:
if %final% == Y goto desRequest
if %final% == N goto start
:desRequest
echo Destination?
set /p destination=:
echo Is %destination% correct? (Y/N)
set /p finalDes=:
if %finalDes% == Y pause
if %finalDes% == N goto desRequest
echo Copying...
copy /y %copy% %destination%
echo Copied!
pause
cls
goto start
只需将其复制到name.bat文件中即可设置!