我正在寻找一种方法,将批处理文件子文件夹从一个文件夹路径( C:\ Example )复制到另一个文件夹路径 D:\ Example_ABC 如果字符串" ABC"包含在子文件夹中。如果该字符串未包含在子文件夹中,则应将其复制到 D:\ Example_noABC 。
原始文件夹路径 C:\ Examples 包含
的子文件夹- B123
- B099
- B939
...
- ABC_A990
- ABC_B099
- ABC_I000
有没有简单的方法呢? 我尝试使用robocopy来实现它,但这种接缝只能用于文件名而不能用于文件夹名称。
答案 0 :(得分:2)
我设法在robocopy的帮助下意识到我想做什么,但它并不是很好。由于许多人在互联网上提出了类似的问题,没有人提供足够的解决方案,我想在此发布我的解决方案:
我首先查找包含ABC的所有文件夹,并仅复制到目标 D:\ Example_ABC 的文件夹,然后将除包含ABC的文件夹以外的所有文件夹(正常的robocopy)复制到 D :\ Example_noABC XD命令在这里处理(排除目录)
代码如下:
for /f "tokens=*" %%a in ('dir C:\Users\example\ABC*. /ad /b') do robocopy C:\Users\example\%%a D:\Example_ABC\%%a /e /v /np /w:1 /r:1 /xo
robocopy C:\Users\example\ D:\Example_noABC\ /e /np /w:0 /r:0 /xo /xd ABC*