进一步阅读:

进一步阅读:

我想创建一个批处理文件,它将删除所有子目录中不包含单词“出口' 在文件名中。我目前在 Windows 中通过使用 '不*导出' 搜索字符串,但它也列出了文件夹,而我只想删除文件。

谢谢!

答案1

  • 在你的命令行中
for /f "delims=" %i in ('2^>nul dir /a:a /b /s ^| findstr /vi export')do del /q /a "%~fi"
  • 在您的批处理文件中
@echo off 

cd /d "D:\Full\Path\To\Your\Folder" 

for /f "delims=" %%i in ('2^>nul dir /a:a /b /s ^| findstr /vi export')do del /q /a "%%~fi"

另一种方法是测试输出而不执行任何操作,添加回显并查看它是否按预期运行

:: In your command line 
...)do echo\del /q /a "%~fi"

:: In your batch file  
...)do echo\del /q /a "%%~fi"

1.仅递归列出文件:dir /a:a /b /s

2.忽略/过滤包含以下内容的文件export| findstr /vi

3.循环操作for /ffor /f "delims=" %i in ()do..

4.删除循环产生的文件:del /q /a "%~fi"



进一步阅读:

相关内容