我几乎没有批处理经验,但现在我需要一个脚本从Windows上的文件夹及其子文件夹中删除其名称中包含某些字符的所有文件64.我只是像
一样批量处理del "C:\TEST\TEST2\*.TXT"
但我不知道如何执行我需要的过滤。 有人可以帮助我使用批次来实现这个目标吗?
更确切地说,编辑,问题是“如何告诉批处理包含子文件夹?”
答案 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"