如何保留某文件夹中指定的含有以中文命名的文件而删除其余的批处理?
发布网友
发布时间:2024-09-29 05:40
我来回答
共1个回答
热心网友
时间:2024-12-11 18:02
脚本保存编码和1.txt的保存编码,请务必设为ANSI,否则会出现中文字符乱码现象。处理时,只需将要被处理的文件夹拖到bat脚本文件图标上即可。
@echo off & title 批量删除除列表中以外的文件 By 依梦琴瑶
if /i "%~1"=="" (
echo 请不要双击运行此脚本,而是将文件夹拖到此脚本图标上运行。
pause
)
::包含保留的文件列表
set FileList=1.txt
pushd "%~1"
if exist "%FileList%" (
for /f "delims=" %%i in ('dir /a-d/b') do (
if /i not "%%~i"=="%FileList%" (
findstr /bei /c:"%%~i" "%FileList%" >nul || (
echo 已删除 "%%~i"
del /f /q "%%~i"
)
)
)
echo, & echo 完成
) else (
echo 目录"%~1"中不存在列表文件 %FileList%
)
popd
pause