删除文件的命令(除以另一个目录中的前缀开头的文件外)

删除文件的命令(除以另一个目录中的前缀开头的文件外)

假设我当前位于 c:\test\user,但我需要删除其他目录中的某些文件,例如 C:\testb\data\diff。我需要删除的文件是那些不以 AD_ 开头的文件。是否可以在一个命令行语句中执行此操作?

答案1

MS DOS 命令删除文件(除以其他目录的前缀开头的文件外)

我需要删除的文件不是以 AD_ 开头的文件。是否可以在一个命令行语句中完成此操作?

命令行从特定文件夹中删除特定文件名模式以外的内容

只需从命令行运行以下语句并复制粘贴即可。这使用为/F循环目录通过管道传输到查找字符串命令指定要匹配排除的模式。

FOR /F "TOKENS=*" %A IN ('DIR /A-D /B "C:\testb\data\diff" ^| FINDSTR /I /V "AD_"') DO DEL /Q /F "C:\testb\data\diff\%~A"

如果您想明确设置要从变量中删除的目录以及要排除的文件模式,下面是一个以这种方式执行的示例。

SET DelDir=C:\testb\data\diff
SET DelPattern=AD_

FOR /F "TOKENS=*" %A IN ('DIR /A-D /B "%DelDir%" ^| FINDSTR /I /V "%DelPattern%"') DO DEL /Q /F "%DelDir%\%~A"

相关内容