Agregar prueba adicional para archivos

Agregar prueba adicional para archivos

¿Qué necesitaría agregar para ignorar también los nombres de archivos que contienen AppData con extensiones .exe? Estoy usando esto en un SetupComplete.cmd para la configuración desatendida de Windows y tengo AppDataLocal.exe y AppDataRoaming.exe que son archivos sfx y no quiero que se eliminen. Espero que esto pueda ser un comodín, algo así como 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

Respuesta1

No veo ninguna razón para utilizar FORFILES: es bastante lento.

Yo haría algo como lo siguiente:

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

Canalizo un DIR /B recursivo a través de FINDSTR, usando un par de expresiones regulares para excluir nombres de archivos que terminan con ".reg" o "\AppData*.exe", ignorando mayúsculas y minúsculas. El resultado se repite a través de FOR /F para poder eliminar cada archivo.

información relacionada