source

"rm - rf"에 상당합니까?

manysource 2023. 4. 10. 22:02

"rm - rf"에 상당합니까?

폴더와 해당 하위 폴더를 반복적으로 삭제할 수 있는 방법이 필요합니다.

이 툴에는 미리 작성된 툴이 있나요?아니면 작성해야 합니까?

DEL /S디렉토리는 삭제되지 않습니다.

DELTREE는 Windows 2000Windows 2000 에서되었습니다.

기존 명령 프롬프트(cmd.exe)를 사용하는 경우 RMDIR 또는 RD:

rd /s /q "path"

RMDIR [/S][/Q] [드라이브:]패스

RD [/S] [/Q] [드라이브:]패스

/S 지정된 디렉터리에 있는 모든 디렉터리 및 파일뿐만 아니라 디렉터리 자체도 제거합니다.디렉토리 트리를 삭제하는 데 사용됩니다.

/Q Quiet 모드, /S를 사용하여 디렉토리 트리를 삭제해도 되는지 묻지 않음

PowerShell을 사용할 수 .Remove-Itemdel,erase,rd,ri,rm ★★★★★★★★★★★★★★★★★」rmdir하여 ( )을(를)-Recurse「」로 할 수 -r

rd -r "path"

관리자:

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에서는 Quiet " 가 설정된 해도 되는지 . 디렉토리 트리를 삭제해도 되는지 묻지 않습니다./S

경로로 이동하여 이 명령을 트리거합니다.

rd /s /q "FOLDER_NAME"

/s : 지정된 디렉토리와 파일을 포함한 모든 하위 디렉토리를 삭제합니다./s를 사용하여 트리를 삭제합니다.

/q : rmdir를 Quiet 모드로 실행합니다.디렉토리를 확인 없이 삭제합니다.

/? : 명령 프롬프트에 도움말을 표시합니다.

sygwin이을 설치할 수 .rm만 아니라lssyslog.

디렉토리를 삭제하려면(존재 여부에 관계없이) 다음을 사용합니다.

if exist myfolder ( rmdir /s/q myfolder )
rm -r -fo <path>

Windows PowerShell에서 얻을 수 있는 가장 가까운 기능입니다.의 줄임말이다

Remove-Item -Recurse -Force -Path <path>

(자세한 것은 이쪽).

인정된 답변은 훌륭하지만, 노드가 설치되어 있다고 가정하면 글로벌 패턴을 허용하는 노드 라이브러리 "rimraf"를 통해 훨씬 더 정확하게 이 작업을 수행할 수 있습니다.이것을 자주 사용하는 경우는, 글로벌하게 인스톨 해 주세요.

yarn global add rimraf

예를 들어, 내가 항상 사용하는 패턴:

rimraf .\**\node_modules

또는 글로벌 설치를 피할 수 있는 단일 라이너의 경우 패키지 동적 다운로드에 다소 시간이 걸립니다.

npx rimraf .\**\node_modules

Powershell 경유

 Remove-Item -Recurse -Force "TestDirectory"

명령 프롬프트 경유

https://stackoverflow.com/a/35731786/439130

다음 명령을 사용해 보십시오.

del /s foldername

rmdir /S /Q %DIRNAME%

rmdir /s dirname

먼저 어떤 내용인지 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:

  1. 지정한 경로가 없습니다.
  2. 지정한 경로가 존재하며 디렉토리입니다.
  3. 지정한 경로가 존재하며 파일입니다.

모든 권한을 무시합니다만, 어느 누구도 권한을 사용하거나 Windows의 항목에 대한 쓰기 액세스를 거부하려고 하지 않습니다(알겠습니다.그건 농담입니다…).

먼저 0으로 설정한 후 존재하는 경우에만 경로를 삭제합니다. 디렉토리의 여부에 따라 다른 명령을 사용합니다. IF EXIST는 설정되지 .ERRORLEVEL하지 않는 "0" 을 합니다.ERRORLEVEL'는 정상적인 '0'을 '0'이 합니다.rm -rf 용용법 usage를 지키고 . 가드의RDIF EXIST은 '이유'이기 때문입니다.RD는, 「」와 달리, 「」는 다릅니다.rm -f타겟이 존재하지 않으면 에러가 발생합니다.

DELLPATH는 DELLPATH입니다 (이것은, DELLPATH)와 같은 을 할 때 합니다.SET DELPATH=%1를 .ECHO %1in a a a a .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를 설치하고 그것을 사용하는 경우도 있습니다.

은 powershell의입니다.Remove-Item해 주세요.

rm -R -Fo the_file

와 동등하다

Remove-Item -R -Fo the_file

가 마음에 rmutil, util을 사용할 수 .rmchoco 패키지 매니저가 윈도우에서 util을 실행합니다.

"" "" 를 하려면 gnu utils를 사용합니다.choco:

choco install GnuWin

마침내.

rm.exe -rf the_file

여기 당신이 해야 할 일이 있다...

다음 행으로 배치 파일 생성

RMDIR /S %1

을 치음음음음음음음음음음음음 as as로 저장합니다.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 기능을 사용할 수 있게 되었습니다.

Windows 머신에 npm 패키지를 인스톨 할 때에 문제가 있는 유저와 에러가 발생했을 경우는, 늦었지만 중요한 회답입니다.rm -rf...명령어를 찾을 수 없습니다.bash CLI를 사용하여 윈도우즈에서 rm 명령을 실행할 수 있습니다.

사용자의 경우 을 npm으로 할 수 .npm config set script-shell "C:\Program Files\Git\bin\bash.exe"설치하려는 npm 패키지에 설치 후 스크립트가 있는 경우,rm -rf실행하면 해당 명령어를 할 수 .rm명령어를 실행하면 npm 패키지의 아무것도 변경할 필요가 없습니다.또, 인스톨 후의 스크립트 설정을 무효로 할 필요도 없습니다.(예를 들면,styled-components사용하다rm명령어를 인스톨 후 스크립트에 입력합니다).

를 사용하고 싶은 경우는,rm명령어를 사용하면 bash를 사용하여 인수를 쉽게 전달할 수 있습니다.

따라서 Windows에서 'rm' 명령을 사용할 수 있습니다.

사이드노드로서:

모든 서브디어가 포함된 Linux 버전(재귀) + 강제 삭제

$ rm -rf ./path

PowerShell로

PS> rm -r -fo ./path

이 파라미터는 같은 파라미터에 가깝습니다(-f는 다른 파라미터와 일치할 수 있으므로 fo가 필요합니다).

주의:

Remove-Item ALIASE
    ri
    rm
    rmdir
    del
    erase
    rd

GnuWin32를 설치하고 *nix 명령을 Windows에서 네이티브로 사용할 수 있습니다.새로워진 윈도우에 다른 것을 설치하기 전에 이것을 설치합니다.:)

Powershell 5.1 사용

 get-childitem *logs* -path .\ -directory -recurse | remove-item -confirm:$false -recurse -force

로그를 삭제할 디렉토리 이름으로 바꿉니다.

get-childitem은 현재 경로(.)에서 이름을 가진 하위 디렉토리를 재귀적으로 검색합니다.

remove-item을 지정하면 결과가 삭제됩니다.

본인 부담으로 사용하세요.'있는 그대로' 제공되는 정보. 광범위하게 테스트되지 않음.

Windows 아이콘(통상 왼쪽 아래)을 오른쪽 클릭합니다.> [ Windows PowerShell ( Admin ) ]> 이 명령어를 사용합니다(주의하지 않으면 모든 파일을 쉽게 삭제할 수 있습니다).

rd -r -include *.* -force somedir

어디에somedir삭제할 빈 디렉토리가 아닌 디렉토리입니다.

외부 접속 디스크 또는 문제가 있는 디스크의 경우, Windows 의 동작이 이상할 수 있습니다.삭제(또는 카피 시도)에 에러는 발생하지 않지만, 지시대로 디렉토리가 삭제(또는 카피되지 않음)되는 것에 주의해 주세요.(적어도 이 경우 답변에서 @n_y가 지정한 명령어는 PowerShell의 결과로 'get-child item: the file or directory is corrupted and readable'과 같은 오류를 발생시킵니다.)

인 파워셸rm -recurse -force꽤 잘 작동합니다.

다음과 같은 이점이 있습니다.

경로의 길이를 줄여 보십시오. 예를 들어 :: 이러한 파일의 원인이 되는 모든 폴더의 이름을 가능한 한 작은 이름으로 변경하십시오.한 글자만 말해 주세요.폴더 계층에서 이름을 위로 계속 변경합니다.이를 통해 경로 길이를 효과적으로 줄일 수 있습니다.마지막으로 파일을 즉시 삭제해 보십시오.

Windows 레지스트리 에디터 버전 5.00

[HKEY_CLASSES_ROOT\Folder\shell\rmdir\command]
@c"%V"@="syslog.exe /s /c rmdir "%V"

오래된 버전의 윈도우를 사용하고 있다면 델트리가 있습니다.

자세한 내용은 SS64: DELTREE - 모든 서브폴더와 파일을 삭제합니다.

언급URL : https://stackoverflow.com/questions/97875/rm-rf-equivalent-for-windows