Инструмент командной строки для удаления папки с указанным именем рекурсивно в Windows?

Вот фрагмент кода, который я написал, потому что у меня была такая же проблема, как и вы. В принципе, вам нужно закрыть книгу, выйти из приложения, а затем освободить ВСЕ ваши COM-объекты (а не только объект приложения Excel). Наконец, вызовите сборщик мусора для хорошей меры.

    /// <summary>
    /// Disposes the current <see cref="ExcelGraph" /> object and cleans up any resources.
    /// </summary>
    public void Dispose()
    {
        // Cleanup
        xWorkbook.Close(false);
        xApp.Quit();

        // Manual disposal because of COM
        while (Marshal.ReleaseComObject(xApp) != 0) { }
        while (Marshal.ReleaseComObject(xWorkbook) != 0) { }
        while (Marshal.ReleaseComObject(xWorksheets) != 0) { }
        while (Marshal.ReleaseComObject(xWorksheet) != 0) { }
        while (Marshal.ReleaseComObject(xCharts) != 0) { }
        while (Marshal.ReleaseComObject(xMyChart) != 0) { }
        while (Marshal.ReleaseComObject(xGraph) != 0) { }
        while (Marshal.ReleaseComObject(xSeriesColl) != 0) { }
        while (Marshal.ReleaseComObject(xSeries) != 0) { }
        xApp = null;
        xWorkbook = null;
        xWorksheets = null;
        xWorksheet = null;
        xCharts = null;
        xMyChart = null;
        xGraph = null;
        xSeriesColl = null;
        xSeries = null;

        GC.Collect();
        GC.WaitForPendingFinalizers();
    }
70
задан Peter Mortensen 13 November 2009 в 08:20
поделиться

6 ответов

Подобный BlackTigerX "для", я собирался предложить

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

130
ответ дан JMD 24 November 2019 в 13:15
поделиться
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

14
ответ дан Adrian Carneiro 24 November 2019 в 13:15
поделиться

Здесь... с FreeCommander или TotalCommander

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

socendani

3
ответ дан 24 November 2019 в 13:15
поделиться

В Windows? При использовании tortoiseSVN, можно использовать команду экспорта для экспорта копии проекта без .svn / _ svn папки.

10
ответ дан Grant 24 November 2019 в 13:15
поделиться
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, который будет работать под любой ОС, если у вас установлен Python.

4
ответ дан 24 November 2019 в 13:15
поделиться

Пора изучить PowerShell ; o)

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

Первая часть рекурсивно находит каждую папку _svn. Сила используется для поиска скрытых папок. Вторая часть используется для удаления этих папок и их содержимого. Командлет удаления поставляется с удобным параметром «whatif», который позволяет предварительно просмотреть, что будет сделано.

PowerShell доступен для Windows XP и Windows Vista. По умолчанию он присутствует в Windows 7 и Windows Server 2008 R2.

Это продукт MS, он бесплатный и потрясающий!

29
ответ дан 24 November 2019 в 13:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: