使用这种情况,我如何移动所有子文件夹中的所有文件除了一个文件夹(存档)?
在c:\文件夹中,我有一个名为“Archive”的文件夹,一堆随机命名的文件夹将从ftp服务器中输入txt文件。我需要递归地从这些随机生成的文件夹中提取所有内容,同时保留Archive文件夹。批处理的当前代码行:
for /r %l in (*) do (IF NOT "%l"=="*Archive*" move /y %l c:\folder)
结果
c:\folder>(IF NOT "c:\folder\Archive\arctest.txt" == "*Archive*" move /y c:\folder\Archive\arctest.txt c:\folder )
1 file moved
我想要在所有其他子文件夹中的子文件移动时保留此文件。
答案 0 :(得分:3)
试试这个:
for /r %a in (*) do @echo %~dpa|findstr /rvi "^.:\\[^\\]*\\archive\\$" >nul&& echo move /y "%~a" c:\folder