Batch file 删除前检查文件名(windows批处理)

Batch file 删除前检查文件名(windows批处理),batch-file,text-files,delete-file,Batch File,Text Files,Delete File,是否有一种方法可以使用Windows批处理读取文件名的txt文件列表。如果该名称出现在列表中,则保留该文件。如果在txt列表中找不到文件名,则该文件将被删除 我正在尝试过滤掉大量由AutoCAD自动生成的临时文件,而不是由AutoCAD清除 读取txt列表的原因允许我添加或删除文件名以进行处理。是的,这在Windows批处理中是可能的。假设您有一个文件列表FilesToKeep.txt,文件名如下: WillBeKept.txt WillAlsoBeKept.doc 在与以下批处理脚本相同的目

是否有一种方法可以使用Windows批处理读取文件名的txt文件列表。如果该名称出现在列表中,则保留该文件。如果在txt列表中找不到文件名,则该文件将被删除

我正在尝试过滤掉大量由AutoCAD自动生成的临时文件,而不是由AutoCAD清除


读取txt列表的原因允许我添加或删除文件名以进行处理。

是的,这在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
中没有文件名,则该文件将被删除