以下代码使用方法:
① 创建一个 某某.txt文本,然打开文本,把下面的代码放到文本里
② 重命名文本,把 某某.txt 后缀的 .txt改成 .bat 即可!
③ 把要删除的NPK文件名字整理好后,创建一个 1.txt文本,放到文本里
④ 1.txt文本 和 某某.bat 文件,以及NPK文件,要在同一个文件夹中。然后双击左键 某某.bat 即可完成指定的文件名删除!
@echo off
setlocal enabledelayedexpansion
echo ========================================
echo 批量NPK文件删除工具
echo ========================================
echo.
:: 设置文本文件路径(桌面\111\222\1.txt)
set "txt_file=%~dp01.txt"
echo 正在读取文件列表: %txt_file%
echo.
:: 检查文本文件是否存在
if not exist "%txt_file%" (
echo 错误: 找不到文件列表 %txt_file%
echo 请确保1.txt文件存在于当前文件夹中
pause
exit /b
)
set /a total_count=0
set /a deleted_count=0
set /a not_found_count=0
echo 开始处理文件删除...
echo ----------------------------------------
:: 读取文本文件中的每一行并删除对应文件
for /f "usebackq delims=" %%i in ("%txt_file%") do (
set "filename=%%i"
:: 移除可能的前后空格
set "filename=!filename: =!"
:: 跳过空行
if not "!filename!"=="" (
set /a total_count+=1
echo [!total_count!] 检查文件: !filename!
:: 检查文件是否存在
if exist "!filename!" (
del "!filename!"
if !errorlevel! equ 0 (
echo 成功删除: !filename!
set /a deleted_count+=1
) else (
echo 删除失败: !filename!
)
) else (
echo 文件不存在: !filename!
set /a not_found_count+=1
)
)
)
echo ----------------------------------------
echo 处理完成!
echo ========================================
echo 统计信息:
echo 总计处理项目: %total_count%
echo 成功删除文件: %deleted_count%
echo 文件未找到: %not_found_count%
echo ========================================
echo.
:: 询问用户是否查看删除的文件列表
set /p show_list=是否查看已删除的文件列表?(y/n):
if /i "!show_list!"=="y" (
echo.
echo 已删除的文件列表:
echo ----------------------------------------
for /f "usebackq delims=" %%i in ("%txt_file%") do (
set "filename=%%i"
set "filename=!filename: =!"
if not "!filename!"=="" if exist "!filename!" (
echo %%i
)
)
echo ----------------------------------------
)
echo.
echo 按任意键退出...
pause >nul
<code_end>
该批处理脚本具有以下功能和特点:
1. 自动读取当前目录下的1.txt文件,无需手动指定路径
2. 逐行处理文本文件中的文件名,支持带空格的文件名
3. 提供详细的处理进度和结果统计信息
4. 包含错误处理机制,显示文件是否存在及删除状态
5. 支持交互式操作,可选择查看已删除文件列表
6. 界面友好,包含清晰的分隔线和状态提示
使用方法:将批处理文件保存为delete_npk_files.bat,放置在桌面\111\222文件夹中,双击运行即可自动删除1.txt中列出的所有.npk文件