`bin` 또는`obj`라는 모든 폴더를 재귀 적으로 삭제하는 배치 파일을 만드는 방법은 무엇입니까?


31

나는 모든 삭제의 필요성이 binobj내 PC에있는 폴더에서 폴더를. 따라서 배치 파일을 생각하고 있지만 Windows의 배치 파일에 익숙하지 않습니다. 도와주세요.

[편집하다]

user와 토론 한 후 DMA57361현재 솔루션에 도달했습니다 (아직 문제가 있지만 의견을 참조하십시오).

.bat 파일을 만들고 아래 명령을 붙여 넣습니다.

start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"

또는

start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"

@ DMA57361 : 스크립트를 실행할 때 아래와 같은 오류가 발생합니다. 어떤 생각?

대체 텍스트


@Nam-왜 당신은 실행 for \/d \/r ...-왜 이중 슬래시 대신에 for /d /r ...? 그리고 /q마지막 상태에서 "full"버전을 실행하면 경고없이 모든 것을 삭제 하므로 출력을 반환하지 않습니다 (즉, 작동 할 때 오류가있을 때만 알려주지 않습니다). 위의 실행이 제대로 작동하지 않습니까?
DMA57361

@Nam이 실행은 동일 for / %d in 하지 않습니다 for /d /r . %d in- 명령이 시작되는 이미지 와 그렇지 않은 이미지 - 아래 의 전체 명령 을 사용해야하며 각 비트는 다른 기능을 가지며 중요합니다.
DMA57361

@Nam Opps, 내 사과, 당신은 전적으로 맞습니다. 처음 몇 개의 스위치를 인쇄하지 않습니다! 그러나 오류가 발생하지 않으며 올바르게 작동하는 것 같습니다. 배치 파일 내에서 명령을 실행하는 대신 명령 행에서 명령을 실행하려고 했습니까?
DMA57361

흠, 얼마나 이상해. 아마도 Win7이 내 WinXP와 비교하여 배치와 다른 작업을 수행하고 있을지 모릅니다. 나는 그렇지 않으면 나는 ... 나는 순간에 붙어 두려워 집이 저녁 Win7에 확인하실 수 있습니다
DMA57361

실제로 배치 명령을 접두어로 붙여서 start어떤 일이 발생하는지보십시오. 이상적이지는 않지만 도움이 될지 궁금합니다.
DMA57361

답변:


42

이는 이전되었습니다 대답 내가로부터이 답변의 주요 추력을 찍은 곳이다 스택 오버플로에 이상.

다음 명령을 사용해보십시오 cmd: 당신은 내에서 그것을 실행할 수 있습니다

for /d /r . %d in (bin,obj) do @if exist "%d" rd /s/q "%d"

다른 폴더를 변경해야하는 경우 (bin,obj)명령 중간에 새 항목을 세트에 추가하십시오 .

이렇게하면 경고없이 휴지통을 사용하지 않고 일치하는 모든 항목이 삭제 되므로 약간의 안전을 원한다면 /q통화 rd종료시 전화를 끊고 매번 삭제하기 전에 시스템에 문의해야합니다.

for /d /r . %d in (bin,obj) do @if exist "%d" rd /s "%d"

당신이 내에서 명령을 실행하려는 경우 배치 파일 , 당신은 변수의 모든 인스턴스를 교체해야합니다 %d으로 %%d과 같이 :

for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
OR
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"

질문에 언급 된 전환에 따라

명령이 배치 파일에서 실행을 거부하면 (여기에서 복제 할 수 없음) 명령 앞에 접두어를 추가하십시오 start. 이렇게하면 프로세스가 배치 파일과 동시에 실행되어 다른 문제가 발생할 수 있지만 올바르게 작동하는 것 같습니다.

또한 이름이 지정된 파일obj 이나 bin명령이 작업중인 폴더 트리 내에 있으면 이름이 일치하는 각 파일에 대해 오류 메시지가 표시됩니다. 이러한 일치하는 파일은 삭제되지 않으며 명령을 삭제하는 데 방해가되지 않습니다. 즉, 안전하게 무시할 수 있습니다.


1
이 명령을 실행하는이 루트 폴더 내에서 하나의 폴더를 무시할 수있는 방법을 알고 있습니까?
Goran Obradovic

완벽하게 일했습니다! 고마워! +1
khr055


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.