只想问一下,如何用来自源的相同文件替换目标目录和子目录中的文件?假设我想要从源目录替换目标目录或文件“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\*.*"
您有什么建议可以实现这个目标吗?
希望尽快收到你的来信。
由于
答案 0 :(得分: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
定义中的掩码更改为更具体,然后*