添加文件附加测试

添加文件附加测试

我需要添加什么才能忽略包含带 .exe 扩展名的 AppData 的文件名?我在 SetupComplete.cmd 中使用它来进行无人值守的 Windows 安装,并且有 AppDataLocal.exe 和 AppDataRoaming.exe,它们是 sfx 存档,我不想删除它们。我希望这可以是一个通配符,类似于 AppData*.exe。

forfiles /p "%WINDIR%\Setup\Files" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.reg] @echo del /F /Q %G" /d

答案1

我认为没有理由使用 FORFILES——它太慢了。

我会做如下的事情:

@echo off
for /f "delims=" %%F in (
  'dir /b /s /a-d "%WINDIR%\Setup\Files"^|findstr /rive "\.reg [\\]AppData[^\\]*\.exe"'
) do del "%%F"

我通过 FINDSTR 管道传递递归 DIR /B,使用一对正则表达式排除以“.reg”或“\AppData*.exe”结尾的文件名(忽略大小写)。结果通过 FOR /F 迭代,因此我可以删除每个文件。

相关内容