2014-01-10 4 views
2

부모 디렉토리에있는 MYFOLDER를 제외한 모든 폴더를 삭제하고 싶습니다.하지만 완료 할 수 없습니까?.... (* .BAT)을 제외한 모든 폴더 삭제

for %%i in ("C:\Parent") do if not "%%i"=="MYFOLDER" del /f /q "%%i 

누군가 코드를 확인해주세요.

+0

http://social.technet.microsoft.com/Forums/scriptcenter/en-US/fb007a7f-9207-4dc6-ba50-0723c89e6f77/delete-except-certian-files?forum=ITCG –

+1

을 확인하십시오. 파일이나 폴더를 삭제 하시겠습니까? 폴더를 삭제하려면 DEL 대신 RD를 사용해야합니다. – Rafael

답변

0

Dir 모든 폴더 (나는 박쥐 * 사용하고 있습니다)하고 MyFolder에이없는 경우가 아닌 경우, 하나 하나 확인 - 삭제합니다. 실제 작업을 실행할 때 echo을 제거하십시오. ,

for /d %%i in ("C:\Parent\*") do if /i not "%%~nxi"=="MYFOLDER" del /s /q "%%i" 
+1

'for/f'로'dir' 출력을 반복하는 대신'for/d'를 사용하면 많은 고통을 피할 수 있습니다. – Joey

+0

예, 죄송합니다./F 여야합니다. –

2

이 당신을 도움이 될 것입니다. MYFOLDER가 크지 않고 복사하는 데 시간이 걸리지 않는 한, 이는 잘 작동합니다.

+0

'%% ~ nxi'의 약자는 무엇입니까? 그것은 나를 위해 작동하지 않지만,'%% i'은 않습니다. – Munchkin

0

또는 단순히이 임시 폴더에 MyFolder에 복사 된 모든 파일을 삭제하고 MyFolder에 다시 복사

for /d %%i in (C:\Parent\*) do (
    if /i "%%i" NEQ ".exe" echo rd /S /Q %%i 
) 
관련 문제