source

윈도우즈 CMD에서 반복적으로 파일 또는 폴더 삭제

manycodes 2023. 4. 21. 21:04
반응형

윈도우즈 CMD에서 반복적으로 파일 또는 폴더 삭제

명령줄에서 Windows의 파일 또는 폴더를 반복적으로 삭제하려면 어떻게 해야 합니까?

명령줄에서 경로를 구동하고 이 명령을 실행하는 솔루션을 찾았습니다.

.svn 파일 확장자 폴더의 예를 제시했습니다.

for /r %R in (.svn) do if exist %R (rd /s /q "%R")

다른 답변은 통하지 않았지만, 이 답변은 통했습니다.

del /s /q *.svn
rmdir /s /q *.svn

/q가 Yes/No 프롬프트를 비활성화합니다.

/s는 모든 서브 디렉토리에서 파일을 삭제하는 것을 의미합니다.

다음 단계를 수행하십시오.

  1. 명령 프롬프트를 엽니다.
  2. 디렉토리를 필요한 경로로 변경
  3. 다음 명령을 내립니다.

    del /S *.svn
    

이것은, 에서 사용할 수 있습니다.bat스크립트:

rd /s /q "c:\folder a"

이제, 그냥 바꿔.c:\folder a폴더 위치로 이동합니다.따옴표는 폴더 이름에 공백이 포함된 경우에만 필요합니다.

RMDIR path_to_folder /S

예를 들어,RMDIR "C:\tmp" /S

"C:\tmp" 폴더를 정말로 삭제할 것인지 묻는 메시지가 표시됩니다.이 폴더를 /Q 스위치와 조합하면 폴더가 자동으로 삭제됩니다(예: RMDIR "C:\tmp" /S /Q)

파일 삭제를 위해 모든 .pdf 파일을 재귀적으로 삭제하는 간단한 배치 파일을 작성했습니다.

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

로컬 디렉토리에서도 다음과 같이 사용할 수 있습니다.

del /s /q "C:\Project\*.pdf"

디렉토리 삭제에도 동일하게 적용할 수 있습니다.이 경우 rmdir를 사용하여 del을 변경하면 됩니다.

특정 내선번호를 재귀적으로 삭제하려면 다음 명령을 사용합니다.

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"

Windows rmdir 명령어 사용

즉, rmdir /S /Q C:\Temp

저도 몇 년 전부터 아래 제품을 사용하고 있습니다.

다른 옵션은 forfiles /로 확인하세요.

Windows의 SQM/Telemetry 폴더를 반복적으로 삭제하다

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

Windows TMP 파일을 재귀적으로 삭제하다

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

사용자 TEMP 파일 및 폴더 재귀 삭제

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"

네이티브 명령어로 폴더를 완전히 지우고 실행한 내용을 로그에 기록합니다.

다음은 이 작업을 수행하는 특이한 방법입니다.

예를 들어 d:\syslog dir를 클리어한다고 가정합니다.

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty

다음 작업도 가능합니다.

del /s /p *.{your extension here}

/p삭제하지 말아야 할 파일을 삭제해야 할 경우 검색된 파일마다 프롬프트가 표시됩니다.

Windows 명령어 프로세서cmd.exe에는 파일 및 폴더 삭제를 위한 다음 두 가지 내부 명령어가 있습니다.

  1. 명령어 DEL은 Windows 명령어프롬프트창에서 실행 시 사용 도움말 출력이 있는 파일을 삭제하기 위한 것입니다.help del또는del /?.
  2. 명령어 RMDIR 또는 이름 단축 RD는 Windows 명령어프롬프트창에서 실행 중일 때 사용 도움말 출력이 있는 디렉토리를 삭제하기 위한 입니다.help rmdir또는rmdir /?또는help rd또는rd /?.

전체 폴더 트리의 *.svn 파일 모두 삭제

Windows 명령어프롬프트창 또는 Windows 배치파일에 다음 명령어를 사용하여 와일드카드 패턴에 의해 긴 파일명 또는 짧은 파일명이 일치하는 파일을 모두 삭제할 수 있습니다.*.svn전화번호부에%USERPROFILE%\Projects또는 그 서브 디렉토리:

del /A /F /Q /S "%USERPROFILE%\Projects\*.svn" >nul 2>&1

옵션 사용법/A파일 속성에서 독립적인 모든 파일을 일치시키려면 암묵적인 기본값이 바뀝니다./A-H숨김 파일을 무시합니다.따라서 이 명령어는 숨김 속성을 가진 파일도 옵션을 사용하기 때문에 삭제합니다./A. 와일드카드 패턴으로 일치하는 파일*.svn숨겨진 속성이 설정된 경우 옵션을 사용하지 않을 경우 무시됩니다./A.

옵션/F파일 확장자를 가진 파일을 강제로 삭제합니다..svn읽기 전용 애트리뷰트가 설정되어 있습니다.에러 메세지가 출력됩니다.Access is denied.만약*.svn파일에는 읽기 전용 속성 세트와 옵션이 있습니다./F명령어 DEL 실행에는 사용되지 않습니다.

조용한 옵션/Q사용자 확인 프롬프트를 차단합니다.Are you sure (Y/N)?.

옵션/S지정된 디렉토리뿐만 아니라 옵션을 사용하지 않는 경우에도 숨겨진 속성이 설정된 디렉토리를 포함한 모든 하위 디렉토리에서도 검색됩니다./A와일드카드 패턴에 의해 8.3의 긴 이름 또는 짧은 이름이 일치하는 파일의 경우*.svn.

가지 리다이렉트 >nul그리고.2>&1그러면 삭제된 파일 출력 목록이 STDOUT(표준 출력)를 처리하기 위해 리다이렉트되고 STDERR(표준 오류)를 처리하기 위해 오류 메시지가 디바이스 NUL로 출력되어 모든 출력이 억제됩니다.

패턴 「」에 됩니다.*.svn만, 이 「」로 않는 는, 에 되어 있지 .다만, 파일명이 로 끝나지 않는 경우는, 에 링크되어 있지 않습니다..svn다른 디렉토리 트리에 있을 수도 있습니다.

패턴으로 *.svn현재 프로세스(프로그램/어플리케이션)에 의해 열려 있는 경우, 공유 액세스 권한을 사용하여 다른 모든 프로세스를 거부하여 파일을 삭제하지 않습니다.단, 이 프로세스에 의해 파일이 삭제됩니다.파일 시스템 권한도 이 명령을 사용하여 파일을 삭제할 수 있습니다.파일 시스템 권한으로 인해 이 명령으로 파일이 삭제되지 않을 수도 있습니다.

전체 폴더 트리의 *.svn 폴더 모두 삭제

Windows 명령어프롬프트 창에서 다음 명령을 사용하여 와일드카드 패턴이라는 긴 폴더 또는 짧은 폴더 이름과 일치하는 모든 폴더를 삭제할 수 있습니다.*.svn in the directory 전화번호부에%USERPROFILE%\Projects and all its subdirectories:및 그 모든 서브 디렉토리:

for /F "delims=" %I in ('dir "%USERPROFILE%\Projects\*.svn" /AD /B /S 2^>nul') do @rd /Q /S "%I" 2>nul

음 을 다 함 하 치 일 용 일 령 명 한 하 the same:줄동aining in사는 cont파포 file배 line command서에는 for usage a@echo off at top is:맨 위는 다음과 같습니다.

for /F "delims=" %%I in ('dir "%USERPROFILE%\Projects\*.svn" /AD /B /S 2^>nul') do rd /Q /S "%%I" 2>nul

There is executed on more 추가에서 실행됨cmd.exe in background with option 옵션을 가진 백그라운드에서/c합니다.'백그라운드에서 실행할 추가 인수로 Windows 명령어프로세서 내부 명령어 DIR을 사용하여 검색합니다.

  • 「」에 있습니다.%USERPROFILE%\Projects
  • 됩니다./S
  • 할 수 할 수 있습니다./AD도 포함됩니다.
  • 패턴의 , 「」의 매칭*.svn.

엔트리는 옵션 「=」에 됩니다./B " " " " 에 풀 합니다./S백그라운드명령어 프로세스의 STDOUT을 처리한다." 또는 중 한 풀 도,&()[]{}^=;!'+,`~이러한 기준에 일치하는 이름을 찾을 수 없는 경우의 DIR에 의한 오류 메시지 출력은 디바이스 NUL로 리다이렉트되어 억제됩니다.

연산자 'da'>.^ON FOR 명령줄을 리터럴 문자로 해석하려면 Windows 명령어프로세서가 내장된 명령어를 실행하는 FOR 명령줄을 먼저 해석해야 합니다.dir별도의 명령어 프로세스를 사용하여 백그라운드에서 시작된 명령줄입니다.

STDOUT 를 처리하는 풀 패스와 디렉토리명의 출력 리스트는, 에 의해서 취득됩니다.cmd.exe배치 파일 처리 및 시작 후 FOR에 의해 처리cmd.exe스스로 닫혔어요

FOR / F 옵션delims=는 문자열 구분자의 빈 목록을 정의합니다.이 리스트를 사용하면 디렉토리 이름 전체가 지정된 루프 변수에 차례로 완전히 할당됩니다.I.

옵션 때문에 조용히 삭제하기 위해 RD 명령이 실행됩니다./Q옵션 때문에 모든 파일 및 모든 하위 디렉터리가 있는 디렉터리/S.

와일드카드 패턴과 일치하는 접합부(소프트 링크)와 심볼 디렉토리 링크도 삭제됩니다.*.svn이 명령어를 사용하는 경우만, 디렉토리 이름이 로 끝나지 않는 경우 에 링크된 디렉토리는 제외됩니다..svn다른 디렉토리 트리에 있을 수도 있습니다.

와일드카드 패턴과 일치하는 디렉토리*.svn이 명령어로 파일이 삭제되지 않는 한 공유 액세스 권한을 사용하여 파일을 삭제하는 다른 모든 프로세스를 거부하는 프로세스(프로그램/어플리케이션)에 의해 현재 파일이 열려 있습니다.또한 현재 삭제할 수 없는 파일을 포함하는 디렉토리 위에는 없습니다.파일 시스템 권한으로 인해 이 명령어로 디렉토리가 삭제되지 않을 수도 있습니다.Windows 에서는, 실행중의 프로세스의 현재의 작업 디렉토리인 디렉토리의 삭제도 디폴트로 금지됩니다.

파일 및 폴더 삭제에 관한 기타 유용한 정보

디렉토리 경로%USERPROFILE%\Projects\완전히 제거하거나 대체할 수 있다.\위의 명령에서 와일드카드 패턴과 일치하는 파일 및 폴더를 삭제합니다.*.svn명령어를 실행하는 Windows 명령어프로세서 프로세스의 현재 디렉토리에 있습니다.

디렉토리 경로%USERPROFILE%\Projects\대체할 수 있다%~dp0와일드카드 패턴과 일치하는 파일 및 폴더를 삭제하다*.svn배치 파일 실행 시 디렉토리가 현재 디렉토리인지 여부에 관계없이 위의 명령줄을 사용하여 배치 파일의 디렉토리로 이동합니다.

디렉토리 경로%USERPROFILE%\Projects\상대 경로로 대체할 수도 있습니다.상대 경로에 대한 자세한 내용은 파일, 경로네임스페이스 이름 지정에 대한 마이크로소프트 설명서를 참조하십시오.

사용된 명령어와 명령어의 작동 방식을 이해하려면 명령 프롬프트 창을 열고 여기서 다음 명령을 실행하여 각 명령에 대해 표시되는 모든 도움말 페이지를 매우 주의 깊게 읽어 보십시오.

  • del /?
  • dir /?
  • for /?
  • rd /?

달려.mklink /?MKLink에 의해 잘 설명되어 있는 파일 및 디렉토리 링크 작성 방법에 대한 도움말을 참조하십시오.

다음 항목도 참조하십시오.

숨김 파일의 경우 다음을 사용해야 했습니다.

DEL /S /Q /A:H Thumbs.db
dir -Recurse *.[extension] |del
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"

그것은 나에게 효과가 있었다.

del /s /q "del_name"

언급URL : https://stackoverflow.com/questions/12748786/delete-files-or-folder-recursively-on-windows-cmd

반응형