求批处理命令,批量删除指定文本内含有指定字符串的文件

2024-12-03 12:41:44
推荐回答(2个)
回答1:

不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟txt文件放一起运行

@echo off
rem 根据一个txt文本文件里列出的文件名(不含扩展名/后缀名)删除指定目录/文件夹里的文件
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "folder=C:\Users\Administrator\Desktop\文件夹"
set "txtfile=订单号.txt"
if not exist "%folder%" (echo;"%folder%" not found&goto end)
for /f "delims=" %%a in ('type "%txtfile%"') do (
    for /f "delims=" %%b in ('dir /a-d/b "%folder%\*%%a*.*" 2^>nul') do (
        echo;"%folder%\%%~nxb"
        del /a /f /a "%folder%\%%~nxb"
    )
)
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit

回答2:

@echo off & title 批量删除指定文件 By 依梦琴瑶
cd /d "%~dp0"

::设置文件夹路径
set FolderDir=Test

::设置列表文件
set List=订单号.txt

for /f "usebackq delims=" %%a in ("%List%") do if exist "%FolderDir%\*%%~a*" del /f /q "%FolderDir%\*%%~a*"
pause

保存为bat后缀名的脚本文件,和订单号.txt放在一起,代码中的文件夹路径请自行修改