Как ограничить рекурсивный многословный вывод? - PullRequest
1 голос
/ 05 апреля 2019

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

Invoke-Command -Computer $Server -ScriptBlock { 
    param ($dir, $name)

    $f = Get-ChildItem -Path $dir | Where {$_.Name -Match "$name"}
    If ($f) {
        $f | Foreach {
            Remove-Item $_.fullname -confirm:$false -Recurse -Verbose 
        }
    }
    else {
        Write-Verbose "No file found"
    }
} -ArgumentList $Directory, $DB

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

VERBOSE: Выполнение операции «Удалить каталог» на цели \ Name1 \ подпозиция

VERBOSE: Выполнение операции «Удалить каталог» на цели \ Name1 \ subitem1

VERBOSE: Выполнение операции «Удалить каталог» на цели \ Name1 \ subitem2

VERBOSE: Выполнение операции «Удалить каталог» на цели \ Name1.db

могу ли я сделать так, чтобы он просто печатал многословно на уровне папок вместо каждого отдельного подпункта? по сути, я хотел бы только вывод, как это:

VERBOSE: Выполнение операции «Удалить каталог» для цели \ name1

VERBOSE: Выполнение операции «Удалить каталог» на цели \ Name1.db

1 Ответ

1 голос
/ 05 апреля 2019

Добавление -Verbose к Remove-Item всегда будет приводить к перечислению каждого удаляемого элемента (т. Е. Это точка многословного вывода. Это пожарный шланг, который либо включен, либо выключен).

Если вы хотите не обязательно меньше журналов, но и фильтрованных журналов, то единственный реальный вариант - удалить -Verbose и сделать это самостоятельно.

Например:

1009 *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...