备份特定文件,然后根据批处理中的源文件夹内容替换它们



我是一个新手,但我正在尝试创建一个批处理文件,该文件读取源的文件夹内容,将文件与目标进行比较,备份匹配项,然后将源文件移动到目标。我想在某种程度上,源目录中的文件内容起到了屏蔽的作用。

有什么技巧可以让我得到这个结果吗?我已经尝试过RobocopyXCopy,但不是我想要的。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
  )

我希望这能澄清我想做的事情。

我会用它来复制文件

copy /y C:pathfolder1 C:destination

这是为了移动

move /y C:pathfolder1 C:destination

您必须将文件夹1更改为所需的任何文件夹。我用这个备份我的拇指驱动器。

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文件中,就可以设置了!

相关内容

最新更新