.exe 확장자를 가진 AppData가 포함된 파일 이름도 무시하려면 무엇을 추가해야 합니까? 무인 Windows 설치를 위해 SetupComplete.cmd에서 이것을 사용하고 있으며 sfx 아카이브인 AppDataLocal.exe 및 AppDataRoaming.exe가 있으며 삭제를 원하지 않습니다. 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"
대/소문자를 무시하고 ".reg" 또는 "\AppData*.exe"로 끝나는 파일 이름을 제외하기 위해 정규식 쌍을 사용하여 FINDSTR을 통해 재귀 DIR /B를 파이프합니다. 결과는 FOR /F를 통해 반복되므로 각 파일을 삭제할 수 있습니다.