Какая польза от-рекурсии в powershell?

0

Вопрос

Извините, это, наверное, глупый вопрос: в чем разница между

Remove-Item -recurse -Force -Verbose и Remove-Item -Force -Verbose

кажется, если мы используем -recurse для папки и вложенных папок powershell удаляет файл один за другим внутри папки. и если мы удалим -recurse powershell просто удаляет основную папку, не проверяя ее содержимое. технически это не так, скрипт будет работать быстрее без -recurse?

powershell
2021-11-24 05:32:51
1

Лучший ответ

3

когда вы используете Remove-Item в дереве директорий, содержащем файлы ... и НЕ используйте -Recurse, вы получите стандартное приглашение для подтверждения. таким образом, использование этого параметра позволяет запустить его без задержки из запроса "вы действительно хотите это сделать?".

это одна из причин, по которой некоторые люди предпочитают передавать вывод Get-ChildItem -Recurse Для Remove-Item.

2021-11-24 22:34:17

Не могли бы вы подробнее рассказать о возможных преимуществах использования Get-ChildItem | Remove-Item над Remove-Item -Recurse?
zett42

Вот ссылка на статью парня-сценариста примерно двенадцатилетней давности, иллюстрирующую использование Get-ChildItem-рекурсии в сочетании с Remove-Item. devblogs.microsoft.com/scripting/...
Walter Mitty

Get-ChildItem | Remove-Item само по себе это не обязательно помогает, если вы не используете -Recurse: Если Get-ChildItemвывод / включает непустой каталог, вы также получите запрос на подтверждение. Если цель состоит только в удалении файлов, Get-ChildItem -File | Remove-Item помогает, однако, в тех случаях, когда Remove-Item * или Remove-Item *.foo также может непреднамеренно совпадать с каталогами (Remove-Item не имеет -File (или -Directory) переключатель, что, возможно, является недостатком). /cc @zett42
mklement0

@mklement0 - хорошая мысль ... я сделал это немного яснее, добавив -Recurse к G-CI вызов.
Lee_Dailey

@zett42 - назначение трубопроводов G-CI Для R-I является ли это [когда вы включаете -Recurse на G-CI вызов] вы явно имеете дело с отдельными элементами. это несколько более прямое представление о том, как некоторые из нас думают об операции. это соответствие "концепции коду" облегчает кодирование, отладку и обслуживание.
Lee_Dailey

Добавление -Recurse Для Get-ChildItem однако это не помогает, потому что без -File он все еще может потенциально включать непустые каталоги, которые - без -Recurse применяется к Remove-Item - снова запускает запрос на подтверждение.
mklement0

@mklement0 - ах! я никогда не сталкивался с такой ситуацией. спасибо вам за информацию! [ухмыляется]
Lee_Dailey

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................