programing tip

Windows에서 지정된 이름의 폴더를 재귀 적으로 삭제하는 명령 줄 도구?

itbloger 2020. 11. 3. 07:43
반응형

Windows에서 지정된 이름의 폴더를 재귀 적으로 삭제하는 명령 줄 도구?


모든 폴더와 하위 폴더의 모든 "_svn"을 삭제하고 싶습니다.

예를 들면

씨:\
  proyect1
   _svn
   이미지
     _svn
     배너
       _svn
     버튼
       _svn

그런 다음 다음과 같이 실행합니다.

rm-recurse c:\proyect1 _svn

그리고 나는 얻어야한다 :

씨:\
  proyect1
   이미지
     배너
     버튼

이상적인 것은 작은 독립 실행 형 EXE 또는 이와 유사한 것입니다.

-Grant에게 감사 합니다. SVN 내보내기 명령에 대한 SVN 문서를 봤지만 Visual Studio에서 생성하는 _vti_ * 폴더 항목도 삭제하고 싶으므로 for솔루션 도 살펴 보겠습니다 .


BlackTigerX의 "for"와 유사하게

for /d /r . %d in (_svn) do @if exist "%d" rd /s/q "%d"


PowerShell 을 배울 시간입니다 . o)

Get-ChildItem -path c:\projet -Include '_svn' -Recurse -force | Remove-Item -force -Recurse

첫 번째 부분은 각 _svn 폴더를 재귀 적으로 찾습니다. Force는 숨겨진 폴더를 찾는 데 사용됩니다. 두 번째 부분은 이러한 폴더와 해당 내용을 삭제하는 데 사용됩니다. Remove commandlet은 수행 할 작업을 미리 볼 수있는 편리한 "whatif"매개 변수와 함께 제공됩니다.

PowerShell은 Windows XP 및 Windows Vista에서 사용할 수 있습니다. 기본적으로 Windows 7 및 Windows Server 2008 R2에 있습니다.

MS 제품이고 무료이며 흔들립니다!


BATCH 파일 내에서 포함 / 호출하려면 (예 : Debug 및 Release 폴더 제거) :

for /d /r . %%d in (Debug Release) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"

%이스케이프 문자로 작동하려면 배치 파일 내에서 double 이 필요합니다. 그렇지 않으면 구문 오류를보고합니다.

감사.


for /f "usebackq" %d in (`"dir _svn /ad/b/s"`) do rd /s/q "%d"

http://ebersys.blogspot.com/2008/07/recursively-delete-svn-folders-easy-way.html


Windows에서? tortoiseSVN을 사용하는 경우 export 명령을 사용하여 .svn / _svn 폴더없이 프로젝트 사본을 내보낼 수 있습니다.


import os
import shutil

curdir = os.path.abspath(os.path.dirname(__file__))

def removedir(dirname, name = ".svn"):
    if os.path.isdir(dirname):
        for file in os.listdir(dirname):
            if os.path.isdir(os.path.join(dirname, file)) and file == name:
                thedir = os.path.join(dirname, name)
                shutil.rmtree(thedir)
                print ".",
            else:
                removedir(os.path.join(dirname, file))

Python이 설치되어 있으면 모든 OS에서 작동하는이 Python 스크립트를 사용해 볼 수 있다고 생각합니다.


여기 ... FreeCommander 또는 TotalCommander 사용

http://www.broobles.com/blog/posts/36

Socendani


SVN Forum의 또 다른 옵션 : 제외 할 파일 / 디렉터리 목록이 포함 된 파일 (이 경우 .svn 또는 _svn)과 함께 XCopy를 사용합니다.

XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y

참고 URL : https://stackoverflow.com/questions/521382/command-line-tool-to-delete-folder-with-a-specified-name-recursively-in-windows

반응형