添加額外的文件測試

添加額外的文件測試

我需要添加什麼才能忽略包含帶有 .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 迭代,因此我可以刪除每個檔案。

相關內容