Lista recurentă a directoarelor în powershell [duplicat] (Programare, Windows, Powershell)

Snowcrash a intrebat.

Cum se listează recursiv directoarele în Powershell?

Am încercat dir /S dar fără succes:

PS C:Userssnowcrash> dir /S
dir : Cannot find path 'C:S' because it does not exist.
At line:1 char:1
+ dir /S
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:S:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

Comentarii

  • get-childitem -recursive -directory, cred că s-ar putea să nu funcționeze cu ps2 –  > Por 4c74356b41.
  • Echivalente scurte ale dir/s sunt gci -r, , ls -r, , dir -r –  > Por wOxxOm.
  • @wOxxOm da, asta este –  > Por Snowcrash.
  • @4c74356b41 Este -recurse nu este recursiv. Recurse are, de asemenea, un alias de -s deci dir -s ar funcționa. –  > Por BenH.
1 răspunsuri
Mathias R. Jessen

În PowerShell, dir este un alias pentru Get-ChildItem cmdlet.

Folosiți-l cu -Recurse pentru a enumera elementele copil în mod recursiv:

Get-ChildItem -Recurse

Dacă doriți doar directoare, și nu fișiere, utilizați -Directory switch:

Get-ChildItem -Recurse -Directory

-Directory a fost introdus pentru furnizorul de sisteme de fișiere în versiunea 3.0.

Pentru PowerShell 2.0, filtrați pe parametrul PSIsContainer proprietate:

Get-ChildItem -Recurse |Where-Object {$_.PSIsContainer}

(Aliasurile PowerShell acceptă rezoluția parametrilor, deci în toate exemplele de mai sus, Get-ChildItem poate fi înlocuit cu dir)