批处理脚本删除包含某些字符的文件

时间:2013-04-22 10:44:26

标签: windows batch-file

我几乎没有批处理经验,但现在我需要一个脚本从Windows上的文件夹及其子文件夹中删除其名称中包含某些字符的所有文件64.我只是像

一样批量处理
del "C:\TEST\TEST2\*.TXT"

但我不知道如何执行我需要的过滤。 有人可以帮助我使用批次来实现这个目标吗?

更确切地说,

编辑,问题是“如何告诉批处理包含子文件夹?”

2 个答案:

答案 0 :(得分:6)

/s开关存在于很多命令(包括del

del /s "C:\TEST\TEST2\*.TXT"

del /?的帮助说:

/S            Delete specified files from all subdirectories.

答案 1 :(得分:3)

试试这个:

@echo off & setlocal
set "MySearchString=X"
for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /i "%MySearchString%"') do echo del "%%~i"

将变量MySearchString设置为要搜索的字符或字符串,如果输出正常,则删除echo命令。

您也可以仅为文件名指定MySearchString

@echo off & setlocal
set "MySearchString=T"
for /r %%a in (*) do for /f "delims=" %%i in ('echo("%%~na" ^| findstr /i "%MySearchString%"') do echo del "%%~fa"