Мое программное обеспечение для резервного копирования, когда оно выполняет резервное копирование общего файлового ресурса, внедряет кучу скрытых папок с метаданными о файлах в каждой отдельной папке и ее дочерних элементах. Существуют сотни названий этой папки .nt_streams .

Недавно мне пришлось восстанавливать из резервной копии, и теперь у всех моих файлов есть этот скрытый каталог везде. Как я могу использовать приглашение CMD для рекурсивного сканирования всей иерархии папок и удаления этой папки и файлов внутри нее?

Я посмотрел вокруг и не могу найти последовательный ответ. Некоторые люди используют для файлов, некоторые используют поиск и т.д.

Вот пример структуры:

Root Folder/
    .nt_steams/
    Folder1/
    Folder2/
        .nt_steams/
        Folder1
            .nt_streams/
                Folder1
                    .nt_streams/
                    File1
    Folder3/
        .nt_steams/
        File1
        File2

1 ответ1

2

PowerShell

$folder = ".nt_streams"
$rootdir = "*root folder*"

$folders = gci $rootdir -recurse | where {$_.name -match $folder}

foreach($item in $folders){remove-item $item -force -whatif}

Удалите -whatif, как только вы запустите его один раз и подтвердите, что он нацелен только на то, что вы ожидаете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .