![CMD 작은 정리 스크립트 정보](https://rvso.com/image/1711444/CMD%20%EC%9E%91%EC%9D%80%20%EC%A0%95%EB%A6%AC%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EC%A0%95%EB%B3%B4.png)
텍스트 파일에 나열되지 않은 모든 폴더 이름을 삭제하는 명령줄 스크립트가 있습니다. 내가 원하는 것은 스크립트가 텍스트 파일의 폴더만 삭제하는 것입니다. 무엇이 잘못되었는지 잘 모르겠습니다.
내 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!"
)
루프 옵션에 다른 항목을 추가하지 않으려면 명령줄에서 디렉터리를 변경하는 것을 잊지 마세요. 저는 배치와 변수를 사용하는 것을 선호하므로 이를 포함시켰습니다.