比如一个文件夹包括子文件夹下有很多 你好1.jpg 你好2.jpg 以及 1.jpg 2.jpg
我现在想保留包含你好的文件,删除不含你好的文件,要如何写bat
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
@echo off
rem 删除当前文件夹及其子文件夹里文件名称中不包含指定字符串/关键字的文件
set #=Any question&set @=WX&set $=Q&set/az=
title
cd /d "%~dp0"
(echo;Set fso=CreateObject^("Scripting.Filesystemobject"^)
echo;Do While WSH.StdIn.AtEndOfStream=False
echo; line=WSH.StdIn.ReadLine
echo; Set f=fso.GetFile^(line^)
echo; If InStr^(1,f.Name,WSH.Arguments^(0^),1^)^<1 Then
echo; WSH.echo line
echo; End If
echo;Loop)>"%tmp%\v.v"
set "word=关键词"
for /f "delims=" %%a in ('dir /a-d/b/s^|cscript -nologo -e:vbscript "%tmp%\v.v" "%word%"') do (
if /i "%%~nxa" neq "%~nx0" (
echo;"%%a"
del /a /f /q "%%a"
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
成品下载地址:
如何批量删除不含特定文字的文件?
下载:https://wwa.lanzoui.com/icFV8sqdhkj 密码:fuh2