CMD 작은 정리 스크립트 정보

CMD 작은 정리 스크립트 정보

텍스트 파일에 나열되지 않은 모든 폴더 이름을 삭제하는 명령줄 스크립트가 있습니다. 내가 원하는 것은 스크립트가 텍스트 파일의 폴더만 삭제하는 것입니다. 무엇이 잘못되었는지 잘 모르겠습니다.
내 cmd는 다음과 같습니다

for /d %%a in ("C:\Users\Administrator\Desktop\Somedir\*") do findstr /i /x /c:"%%~nxa" Cleanup.txt || rd /s /q %%a

내 텍스트 파일에는 다음과 같은 짧은 폴더 이름이 포함되어 있습니다.

am
ar
bg

누구든지 도와줄 수 있나요?

답변1

명령줄에서:

cd "C:\Where\Your\Text\File\Is"
for /f %A in ("Cleanup.txt") do (if exist "C:\Users\Administrator\Desktop\Somedir\%A" rd /s /q "C:\Users\Administrator\Desktop\Somedir\%A")

일괄적으로:

@echo off

set "dir=C:\Users\Administrator\Desktop\Somedir"
set "txt=C:\Where\Your\File\Is\Located\Cleanup.txt"

setlocal enabledelayedexpansion
for /f %%A in (%txt%) do (
    set "del=%%A"
    if exist "%dir%\!del!" rd /s /q "%dir%\!del!" 
)

루프 옵션에 다른 항목을 추가하지 않으려면 명령줄에서 디렉터리를 변경하는 것을 잊지 마세요. 저는 배치와 변수를 사용하는 것을 선호하므로 이를 포함시켰습니다.

관련 정보