我想创建一个批处理文件,它将删除所有子目录中不包含单词“出口' 在文件名中。我目前在 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 /f
:for /f "delims=" %i in ()do..
4.删除循环产生的文件:del /q /a "%~fi"