2015-11-03 105 views
0
S: 
cd \newclients 
xcopy "s:\clients\*\MER" . /s /d 
pause 

这是我的批处理文件。在我的文件夹树中,我们有客户端命名文件夹,然后MER文件夹。我希望能够搜索MER文件夹的目录,然后将该文件夹与客户端名称一起复制。有没有办法用批处理文件做到这一点?xcopy批处理文件夹树

+0

[这可以帮助你(http://stackoverflow.com/问题/ 9252162/some-copy-command-in-windows-to-copy-from-current-location-to-specified-location) –

回答

0

使用if exist应该做的事情。

pushd "s:\newclients" 
for /f "delims=" %%f in ('dir /b /ad "s:\clients\*"') do (
if exist "s:\clients\%%f\MER\nul" (xcopy "s:\clients\%%f\MER" "s:\newclients" /s /d) 
) 
popd 
pause 

注意:如果是check folder即添加一个斜杠。 if exist "s:\clients\%%f\MER\" ...if exist "s:\clients\%%f\MER\nul" ...

要禁止有关目标文件/文件夹提示添加/Ixcopy

/I If in doubt always assume the destination is a folder 
     e.g. when the destination does not exist. 

https://stackoverflow.com/a/33445866/

+0

我必须将目标路径更改为s:\ newclients \ %% f \ mer但它k eeps问复制文件时是否是一个目录,我必须按住D键才能继续。更好,然后我有!但不知道如何让它自动去 – DotyDot