批处理:如果扩展名不是,则移动文件(.bz2)

时间:2016-09-28 22:21:23

标签: batch-file

我正在尝试从最终没有扩展名.bz2的所有子目录中移动文件: enter image description here

它应该移动所有不以(.bz2结尾)的扩展名我试过这个:

for /R C:\AppServ\fastdl %f in (*) do @if not exist (*.bz2) move /Y *           C:\AppServ\fastdl\not_bzip >NUL

但是这个脚本试图移动文件夹并且也失败了: enter image description here

如果我把%f而不是move / Y *它会移动.bz2文件。

2 个答案:

答案 0 :(得分:0)

你可能想要这样的东西:

For /R "C:\AppServ\fastdl" %f In (*) Do @If %~xf NEq .bz2 (@Move /Y "%~f" "C:\AppSrv\not_bzip">Nul)

请注意,我更改了移动到目录,您需要先自己创建它,并确保它不是您正在扫描的文件夹树的子目录。

答案 1 :(得分:0)

For /f "delims=" %A in ('dir /b /s "c:\windows\syswow64" ^| Findstr /v /I /c:".dll"') Do Echo %A

列出除dll文件以外的所有文件。