是否有办法使用Windows Batch读取文件名的txt文件列表。如果名称存在于列表中以保留该文件但是。如果在txt列表中找不到文件名,则删除它。
我试图过滤掉一大堆未经AutoCAD清理自动生成的临时文件。
读取txt列表的原因允许我添加或删除文件名以进行处理。
答案 0 :(得分:2)
是的,Windows批处理是可行的。假设您有一个文件列表FilesToKeep.txt
,文件名如下:
WillBeKept.txt
WillAlsoBeKept.doc
与以下批处理脚本位于同一目录中:
@echo OFF
pushd "%~dp0"
set "PathToCleanup=E:\Temp\Test"
for /F "tokens=*" %%F in ('dir /S/B/A-D %PathToCleanup%\*.*') do (
findstr /S %%~nxF FilesToKeep.txt >NUL || del /Q "%%F" )
此脚本循环遍历PathToCleanup
中的所有文件,如果FilesToCleanup.txt
中没有文件名,则该文件将被删除。