2012-04-09 117 views
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\*.*" 

你有任何建议来完成这个?

希望能尽快听到你的消息。

感谢

+0

你需要首先搜索目的地目录还是你知道他们所有的路径? – 2012-04-09 10:05:10

回答

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定义中的掩码更具体然后*