1

只是想问一下,如何用源文件中的相同文件替换目标目录和子目录中的文件?假设我想用源目录中的文件“X”替换目标目录或子目录中的文件“X”,脚本必须遍历所有目录和子目录才能找到文件“X”并替换它

Example 

Source:        "C:\MyPics\New\*.*"
Destination:   "C:\MyPics\All\A\*.*"
               "C:\MyPics\All\B\1\*.*"
               "C:\MyPics\All\B\2\*.*"
               "C:\MyPics\All\C\*.*"

你有什么建议来完成这个吗?

希望早日收到你的消息。

谢谢

4

1 回答 1

1

这是未经测试的,但我认为我的代码是正确的。

如果您希望用源中的单个文件替换,那么

@echo off
set "src=C:\MyPics\New\"
set "dst=C:\MyPics\All\"
set "file=X"
for /f "eol=: delims=" %%F in ('dir /b /s "%dst%%file%"') do copy /y "%src%%file%" "%%F"

如果您要替换源中的所有文件,那么

@echo off
set "src=C:\MyPics\New\*"
set "dst=C:\MyPics\All\"
for %%S in ("%src%") do (
  for /f "eol=: delims=" %%F in ('dir /b /s "%dst%%%~nxF"') do copy /y "%%S" "%%F"
)

您可以将定义中的掩码更改src为更具体*

于 2012-04-09T11:52:50.193 回答