2014-07-20 3 views
0

여러 하위 폴더 안에 파일과 하위 폴더가있는 전체 폴더를 여러 하위 폴더에 복사 할 수있는 배치 파일을 만들려고했습니다. 사실 나는 명령을 엉망으로 만들고 모든 파일과 하위 폴더를 복사하여 원했지만 폴더 안에 복사하지 않았습니다.여러 폴더에서 여러 파일을 일괄 적으로 삭제하는 방법

이제 각 폴더에서 원본 파일을 삭제하지 않고 이러한 파일과 하위 폴더를 모두 삭제하려고합니다.

이 명령을 명령 프롬프트 창에서 직접 시도했지만 작동하지 않았고 입력 및 루프가 올바르다 고 생각하기 때문에 그 이유를 알 수 없습니다.

for /d %a in (`E:\Mis documentos\Nueva carpeta\Filosofia\*') do for /d %b in ("%a\*") do for %c in ("*") do del %b\%c 

이 반환하지만 실행 명령 "시스템이 지정된 파일을 찾을 수있는 것은"나는 그 폴더에서 삭제할 del E:\Mis documentos\Nueva carpeta\Filosofia\Some folder\Another folder\The exact file입니다. 그 원인은 무엇일까요?

동일한 작업을 수행했지만 % b/% c이 (가) 울리면 폴더에서 삭제할 항목의 정확한 경로가 반환됩니다. (각 파일의 이름을 독립적으로 복구 할 수 있도록 첫 번째 위치에서 복사하려는 폴더 내부에서이 명령을 실행하려고합니다.)

+1

'del "c : \ somefolder \ * .txt" "c : \ somefolder \ *. exe"/ s' –

+1

배치 파일의'For' 루프는 명령 프롬프트에서 % A 대신 %% A를 요구합니다. –

+0

나는 게시판의 코드가 테스트를 위해 명령 프롬프트에서 실행되었다고 설명하는 것을 잊어 버렸습니다. (내가 왜 sinlge %를 쓸 때마다 사용했는지), "시스템은 지정된 파일을 찾을 수 없습니다."하지만 명령은 실행되었습니다. del E : \ Mis documentos \ Nueva carpeta \ Filosofia \ Some folder \ Another folder \ 해당 폴더에서 삭제하려는 정확한 파일입니다. 내가 이해할 수없는 것은 파일을 찾지 못하는 이유입니다. – user3839617

답변

1

가장 좋은 해결책은 del 명령을 사용하는 것입니다. 스위치 /Q (조용) 및 /S (모든 하위 디렉토리에도 있음)은 D.Ddgg으로 이미 제안되어 있습니다. 내부 &()[]{}^=;!'+,`~ 같은 space 또는 다른 특수 문자

del /Q /S "E:\Mis documentos\Nueva carpeta\Filosofia\*.txt" "E:\Mis documentos\Nueva carpeta\Filosofia\*.jpg" 

인수는 큰 따옴표로 묶어야합니다. 특수 문자 목록은 명령 프롬프트 창 cmd /?에서 실행되고 도움말의 마지막 페이지에서 마지막 단락을 볼 때 출력됩니다.

관련 문제