Jaké je využití -recurse v powershell?

0

Otázka

Omlouvám se, že to je asi hloupá otázka: jaký je rozdíl mezi

Remove-Item -recurse -Force -Verbose a Remove-Item -Force -Verbose

zdá se, že pokud budeme používat -recurse pro složky a podsložky powershell odstranit soubor, jeden po druhém uvnitř složky. a pokud bychom odstranit -recurse powershell jednoduše odstranit hlavní složky bez kontroly uvnitř složky. technicky není skript bude běžet rychleji, bez -recurse?

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

Nejlepší odpověď

3

při použití Remove-Item na dir strom, který drží soubory a nepoužívejte -Recurse, dostanete na standardní výzvu k potvrzení. takže pomocí tohoto parametru umožňuje spuštění bez zpoždění od "opravdu to chceš udělat?" prompt.

to je jeden z důvodů, proč někteří lidé dávají přednost, aby potrubí výstup Get-ChildItem -Recurse k Remove-Item.

2021-11-24 22:34:17

Můžete to rozvést na možné výhody použití Get-ChildItem | Remove-Item více Remove-Item -Recurse?
zett42

Zde je odkaz na Skriptovací chlap článku asi před dvanácti lety, ilustrující použití Get-childItem -recurse ve spojení s Remove-Item. devblogs.microsoft.com/scripting/...
Walter Mitty

Get-ChildItem | Remove-Item per se neznamená nutně pomoci, pokud nechcete použít -Recurse: Pokud Get-ChildItem's je výstup / obsahuje neprázdný adresář, dostanete výzvu k potvrzení. Pokud záměr je, aby odstranit soubory pouze, Get-ChildItem -File | Remove-Item pomůže, nicméně, v případech, kdy Remove-Item * nebo Remove-Item *.foo mohl neúmyslně zápas adresáře (Remove-Itemne -File (nebo -Directory) přepínač, který je pravděpodobně nedostatek). /cc @zett42
mklement0

@mklement0 - dobrý postřeh ... udělal jsem to trochu jasnější přidáním -Recurse k G-CI volání.
Lee_Dailey

@zett42 - účel potrubí G-CI k R-I je to, že [při zařazení -Recurse na G-CI call] jste výslovně zabývají jednotlivé položky. to je poněkud více přímé zastoupení, jak někteří z nás si myslí o operaci. že "koncept kódu" zápas se dělá pro snadnější kódování a jednodušší ladění a jednodušší údržbu.
Lee_Dailey

Přidání -Recurse k Get-ChildItem nepomůže, nicméně, protože bez -File pořád to může potenciálně obsahovat neprázdné adresáře, které - bez -Recurse aplikován na Remove-Item - znovu aktivuje výzvu k potvrzení.
mklement0

@mklement0 - ah! nikdy jsem běžet do této situace. děkuji za info!!! [úsměv]
Lee_Dailey

V jiných jazycích

Tato stránka je v jiných jazycích

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