我见过删除所有不符合特定模式的文件 - Windows 命令行
但是我还没有看到任何关于如何删除所有内容的信息不是其文件名中包含某个字符串。
如何删除文件夹及其子文件夹中所有文件名中不包含“MS”(区分大小写)的 zip 文件(其他文件不应受到影响)。
这些字母可能与其他字母相邻(例如,应保留名为“ABCMSABC”的文件名,因为其中包含“MS”,但应删除所有其他文件)。多个文件中都会包含“MS”。
答案1
如何删除文件夹/子文件夹中名称中不包含“MS”的 zip 文件?
使用以下批处理文件:
@echo off
setlocal disableDelayedExpansion
for /f "usebackq tokens=*" %%i in (`dir /a:-d /b /s *.zip ^| findstr /v "[\\][^\\]*MS[^\\]*$"` ) do (
echo del /s /q %%i
)
endlocal
笔记:
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 德尔- 删除一个或多个文件。
- 目录- 显示文件和子文件夹的列表。
- 查找字符串- 在文件中搜索字符串。
- 对于/f- 循环命令以执行另一个命令的结果。
答案2
lang-console
@echo off
setlocal disableDelayedExpansion
for /f "usebackq tokens=*" %%i in (`dir /a:-d /b /s *.zip ^| findstr /v " [\\][^\\]*ms[^\\]*$"` ) do (
del /s /q "%%i"
)
endlocal