¿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.