[windows] 명령 줄을 사용하여 디렉토리와 파일을 삭제하지만 존재하지 않는 경우 오류가 발생하지 않습니다.

디렉터리 및 포함 된 모든 파일을 삭제하려면 Windows 명령이 필요하지만 디렉터리가 존재하지 않는 경우 오류를보고 싶지 않습니다.



답변

del명령 출력 을 nul로 리디렉션합니다 . 를 참고 2오류 출력을 리디렉션 할 나타냅니다. 이 질문 , 특히 명령 리디렉션 연산자 사용 기술 문서를 참조하십시오 .

del {whateveroptions} 2>nul

또는 다음을 호출하기 전에 파일 존재를 확인할 수 있습니다 del.

if exist c:\folder\file del c:\folder\file

파일이 아닌 폴더 인지 확인하기 위해 if exist c:\folder\(뒤에 \)를 사용할 수 있습니다 c:\folder.


답변

stderr을 nul로 리디렉션하십시오.

rd /q /s "c:\yourFolder" 2>nul

또는 삭제하기 전에 폴더가 있는지 확인하십시오. 후행 \은 IF 조건에서 중요합니다.

if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"


답변

Windows 10에서 다음은 훌륭하게 작동합니다.

if exist <path> rmdir <path> /q /s

q“요청하지 않고 삭제”를 s의미하고 “그 안에있는 모든 하위 폴더 및 파일 삭제 “를 의미합니다.

명령을 연결할 수도 있습니다.

(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>


답변

stderr을 nul로 리디렉션 할 수 있습니다.

del filethatdoesntexist.txt 2>nul


답변

위의 내용은 프롬프트에서 Y 또는 N으로 표시됩니다. 그래서 대신 다음을 사용했는데 완벽하게 작동합니다.

if exist cddd rmdir cddd

이것이 누군가를 돕기를 바랍니다.

건배.


답변