문제
내가 필요로하는 방법을 재귀적으로 폴더를 삭제하고 그 아이들입니다.
이 있는 미리 만들어진 도구는 이를 위해,또는 나를 작성해야 하나?
DEL /S
를 삭제하지 않 디렉토리입니다.
DELTREE
에서 제거되었 Windows2000+
해결책
RMDIR 또는 RD 을 사용하는 경우에는 고전 명령 프롬프트(cmd.exe):
rd /s /q "path"
를 사용하는 경우 사용할 수 있습 PowerShell Remove-Item
(는 별칭을 del
, erase
, rd
, ri
, rm
고 rmdir
)고 -Recurse
인수될 수 있는 누전 -r
rd -r "path"
다른 팁
admin:
takeown /r /f folder
cacls folder /c /G "ADMINNAME":F /T
rmdir /s folder
작품을 위해 아무 것도 포함한 파일을 sys
편집:나는 사실을 발견한 가장 좋은 방법은 또한 해결한 파일의 경로를 너무 긴 문제 뿐만 아니라:
mkdir \empty
robocopy /mir \empty folder
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S
을 제거하는 모든 디렉토리와 파일에서 지정한 디렉토리에서만 디렉토리에 자체입니다. 를 제거하는 데 사용되는 디렉터리 나무입니다./Q
조용한 모드로,요청하지 않는 경우에 확인을 제거하는 디렉토리 나무/S
설치할 수 있습니다 cygwin 가 rm
뿐만 아니라 ls
etc.
로 이동 경로 및 트리거 이 명령입니다.
rd /s /q "FOLDER_NAME"
/s:을 제거하는 지정한 디렉토리와 모든 하위 디렉터리를 포함한 파일이 있습니다.사용/s 제거하는 나무입니다.
/q:실행 rmdir 에서 조용한 모드입니다.삭제하는 디렉토리지 않고 있습니다.
/?:도움말이 표시됩니다 명령 프롬프트에서.
삭제에 대한 디렉터리(지 여부에 존재하는)사용하려면 다음을 사용합니다.
if exist myfolder ( rmdir /s/q myfolder )
rmdir /S /Q %DIRNAME%
rmdir/s dirname
다음 명령을 실행해 보세요:
del /s foldername
먼저 무엇을 검토 rm -rf
가:
C:\Users\ohnob\things>touch stuff.txt
C:\Users\ohnob\things>rm -rf stuff.txt
C:\Users\ohnob\things>mkdir stuff.txt
C:\Users\ohnob\things>rm -rf stuff.txt
C:\Users\ohnob\things>ls -l
total 0
C:\Users\ohnob\things>rm -rf stuff.txt
세 가지 시나리오가 rm -rf
은 일반적으로 사용되는 것으로 예상되고 돌아 0
:
- 지정된 경로가 존재하지 않습니다.
- 지정된 경로가 존재하고 디렉토리에 있습니다.
- 지정한 경로가 존재하고 있습니다.
나는 무시한 전체적인 권한 것은,하지만 아무도를 사용 권한하거나 거부하려고 스스로 쓰기 권한 것들에 윈도우 어쨌든(확인을 의미하는 것 농담...).
첫째 설정 ERRORLEVEL
0 다음 경로를 삭제하는 경우에만 존재하여,다른 명령에 따라지는 디렉토리에 있습니다. IF EXIST
설정하지 않습니다 ERRORLEVEL
하면 0 으로 경로가 존재하지 않도록 설정하기 ERRORLEVEL
0 첫번째 필요한 제대로 감지 성공을 흉내내는 방법으로 정상적인 rm -rf
사용합니다.을 지키고 RD
가 IF EXIST
필요하기 때문에 RD
, 과는 달리, rm -f
, 것,오류가 발생한 경우 대상 존재하지 않습니다.
다음과 같은 스크립트는 조각에서는 DELPATH 은 prequoted.(이전할 때와 같이 SET DELPATH=%1
.를 넣어보십시오 ECHO %1
에 .cmd
고 전달하는 인수와 함께 공간에 무슨 일이 일어나는지 볼 수 있 자).후 조각가 완료되면,당신은 확인할 수 있습에 대한 실패로 IF ERRORLEVEL 1
.
: # Determine whether we need to invoke DEL or RD or do nothing.
SET DELPATH_DELMETHOD=RD
PUSHD %DELPATH% 2>NUL
IF ERRORLEVEL 1 (SET DELPATH_DELMETHOD=DEL) ELSE (POPD)
IF NOT EXIST %DELPATH% SET DELPATH_DELMETHOD=NOOP
: # Reset ERRORLEVEL so that the last command which
: # otherwise set it does not cause us to falsely detect
: # failure.
CMD /C EXIT 0
IF %DELPATH_DELMETHOD%==DEL DEL /Q %DELPATH%
IF %DELPATH_DELMETHOD%==RD RD /S /Q %DELPATH%
점은,모든 것이 더 간단한 경우 환경에 맞는 POSIX.거나 설치하는 경우 최소한의 MSYS 고 사용합니다.
설치할 수 있습니다 GnuWin32 사용*거절 명령어는 기본적으로 응용 프로그램을 시작합니다.설치 이전에 설치는 다른것에 신선한 민트 windows.:)
여기에 무엇이 필요하다.
을 만들 배치를 가진 파일에 다음 줄을
RMDIR /S %1
을 저장하는 배치 파일 Remove.bat
에 넣어 C:\windows
다음과 같이 레지스트리 키를 만듭니
HKEY_CLASSES_ROOT\Directory\shell\Remove Directory (RMDIR)
실행 regedit
고 기본 값을 업데이트 HKEY_CLASSES_ROOT\Directory\shell\Remove Directory (RMDIR)\default
다음과 같은 값
"c:\windows\REMOVE.bat" "%1"
다.이제 당신이 할 수 있을 마우스 오른쪽 단추로 클릭하여 디렉토리를 사용하여 기능 RMDIR
Powershell5.1
get-childitem *logs* -path .\ -directory -recurse | remove-item -confirm:$false -recurse -force
대체 로그 디렉터리와 함께 당신이 원하는 이름을 삭제합니다.
get-childitem 검색에 대한 아이 디렉토리로 이름을 재귀적으로 현재 경로에(.).
제목 삭제 결과입니다.
허용된 응답은 중대하다,그러나 당신이 가정 노드를 설치,이를 수행할 수 있습이 훨씬 더 정확하게 노드와 라이브러리"rimraf"할 수 있는 파일을 열 패턴이 있습니다.당신이 많이 사용하는(I),단지 그것을 설치하는 세계적이다.
yarn global add rimraf
그런 다음,예를 들어,패턴 내가 사용하여 지속적으로:
rimraf .\**\node_modules
또한 하나-라이너는 당신이 피하는 글로벌 설치,하지만은 약간 시간이 오래 걸리에 대한 패키지에 동적인 다운로드:
npx rimraf .\**\node_modules
여기에는 무엇이 나를 위해 일했:
다만 줄이십시오 길이의 경로입니다.i.전자::이름을 바꾸는 모든 폴더에 지도하는 그러한 파일을 가능한 한 가장 작은 이름입니다.말하는 글자가 하나 이름이 있습니다.이동에 이름 바꾸기 위쪽으로 폴더에서는 계층 구조로 구성됩니다.이 u 효과적으로 줄 경로 길이.마지막으로 지금 시도해 파일을 삭제합니다.
을 통해 Powershell
Remove-Item -Recurse -Force "TestDirectory"
을 통해 명령 프롬프트
사용은 자신의 책임입니다.한 정보를 제공하는'있는 그대로'입니다.테스트되지 않습니다.
마우스 오른쪽 단추로 클릭 Windows 아이콘(일반적으로 왼쪽 아래)>"를 클릭 Windows PowerShell(관리자)">이 명령을 사용하여(으로 인해,당신은 쉽게 삭제할 수 있는 모든 파일을 조심하지 않으면):
rd -r -include *.* -force somedir
가 somedir
이 비어 있지 않은 원하는 디렉터리를 제거합니다.
참고하는 외부 연결된 디스크,또는 디스크에 문제,Windows 때때로 동작하는 이상한되지 않고 오류를 삭제에서(또는 사본도),아직 directory 은 삭제되지 않음(또는 복사되지 않)으로 지시.(나는 이 경우,적어도 나를 위해,명령에 의해 주어진@n_y 그의 대답에서 오류가 발생합니다 다음과 같'get-childitem:파일 또는 디렉토리이 손상되어 읽을 수 없습니다.'결과에 PowerShell)
또한 deltree 는 경우에도 당신은 오래된 버전의 windows.
이 사이트를 찾는 명령:SS64:델-파일 삭제
델/s/q directorytobedeleted