2

현재 서버의 특정 폴더에서 모든 내용을 삭제하는 단일 배치 파일을 수행하고 있습니다. 지금까지는 작동했지만 폴더 이름에 공백이있는 디렉토리는 불행하게도 인식되지 않습니다. 이 제한을 극복하기 위해 스크립트에서 따옴표를 어디에 넣어야할지 모르겠습니다.디렉토리를 재귀 적으로 제거

이 지금까지 스크립트입니다, 그것은의 루트에 앉아 "D : \를"

cd Sharedfolder 
for /f %%i in ('dir D:\Sharedfolder /B /D') do rd %%i /Q /S 
del /F /S /Q *.* 

그것은 잘 작동하지만, 최대한 빨리 내부 디렉토리를 가지고 "Sharedfolder"는하지 않습니다 그 디렉토리에 대한 작업.

내가 시도
for /f "delims=" %%x in ('dir /b /ad abc*') do rd /s /q "%%x" 

, 그것은 작동합니다

답변

2

이 당신이 찾고있는 완벽한 대답이 하나 봅니다.

+0

아니요. 불행히도 작동하지 않습니다. "D : \ Sharedfolder \ D : \ Sharedfolder"및 해당 하위 디렉터리를 삭제하려고 시도합니다. 또한, 나는 아무것도하기 위해/S/Q 앞에 "%% I"를 배치해야했습니다. –

+0

답변을 편집하고 해결책을 확인했습니다. 잘 작동합니다. 모두 제일 좋다. –

4

명령 사용이 일치하지 않습니다. 중/ F에 대한 를 사용하거나

FOR /D %%i IN (D:\Sharedfolder\*) DO rd /s /q "%%i" 
del /F /S /Q *.* 

무슨 생각에 더 가깝다 사용합니다. 다른 해결책은 다음과 같습니다.

rmdir /s /q D:\Sharedfolder 
mkdir D:\Sharedfolder 

이것은 시스템의 다른 곳에서 문제가있을 수 있습니다.