Windows में एक निर्दिष्ट नाम के साथ फ़ोल्डर को हटाने के लिए कमांड लाइन उपकरण?




file utilities (7)

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))

मुझे लगता है कि आप इस पायथन लिपि को आजमा सकते हैं, जो आपके पास पाइथन स्थापित होने पर किसी भी ओएस के तहत काम करेगा।

मैं हर फ़ोल्डर और उपफोल्डर में हर "_svn" को हटाना चाहता हूं ...

उदाहरण के लिए

c:\
  proyect1
   _svn
   images
     _svn
     banner
       _svn
     buttons
       _svn

तो मैं कुछ पसंद करता हूँ

rm-recurse c:\proyect1 _svn

और मुझे मिलना चाहिए:

c:\
  proyect1
   images
     banner
     buttons

आदर्श बात एक छोटी सी स्टैंड-अलोन EXE या उस तरह कुछ होगी।

- धन्यवाद अनुदान, जैसे ही मैंने प्रश्न पोस्ट किया, मैंने एसवीएन निर्यात कमांड के बारे में SVN दस्तावेज देखा, लेकिन मैं विजुअल स्टूडियो बनाता है _vti_ * फ़ोल्डर सामग्री को भी हटाना चाहता हूं, इसलिए मैं समाधान के for भी पता लगाऊंगा।


एसवीएन फोरम से एक और विकल्प: एक फ़ाइल के साथ एक्सकॉपी का उपयोग करें जिसमें फाइलों / निर्देशिकाओं की सूची शामिल है (.svn या _svn इस मामले में)

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

कुछ PowerShell सीखने का समय; ओ)

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

पहला भाग प्रत्येक _svn फ़ोल्डर को पुनरावर्ती रूप से पाता है। बल का उपयोग छुपा फ़ोल्डर खोजने के लिए किया जाता है। दूसरे भाग का उपयोग इन फ़ोल्डर्स और उनकी सामग्री को हटाने के लिए किया जाता है। कमांडलेट निकालें एक आसान "व्हाटिफ़" पैरामीटर के साथ आता है जो पूर्वावलोकन करने की अनुमति देता है कि क्या किया जाएगा।

पावरशेल विंडोज एक्सपी और विंडोज विस्टा के लिए उपलब्ध है। यह डिफ़ॉल्ट रूप से विंडोज 7 और विंडोज सर्वर 2008 आर 2 पर मौजूद है।

यह एक एमएस उत्पाद है, यह मुफ़्त है, और यह चट्टानों!


विंडोज़ में? यदि आप tortoiseSVN का उपयोग कर रहे हैं तो आप .svn / _svn फ़ोल्डर्स के बिना प्रोजेक्ट की एक प्रति निर्यात करने के लिए निर्यात कमांड का उपयोग कर सकते हैं।



एक बैच फ़ाइल उपयोग के भीतर से शामिल / आमंत्रण के लिए (डीबग और रिलीज फ़ोल्डर को हटाने के लिए कहें):

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

बचने के पात्रों के रूप में काम करने के लिए बैच फ़ाइल के भीतर डबल % की आवश्यकता होती है। अन्यथा यह वाक्यविन्यास की त्रुटि की रिपोर्ट करता है।

धन्यवाद।


ब्लैक टाइगरएक्स के "के लिए" के समान, मैं सुझाव देने जा रहा था

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





administration