DIRing folders no PowerShell

5

Agora que em Powershell dir é apenas um alias para Get-ChildItem , como posso obter uma lista de pastas apenas ?

Estou fazendo dir /ad (para o Diretório de Atributos) no prompt de comando há cerca de 20 anos. Existe alguma maneira de alias isso com parâmetros no PowerShell?

Eu vejo Como obtenho apenas diretórios usando Get-ChildItem? no Stack Overflow, mas não vou para digitar Get-ChildItem -Recurse | ?{ $_.PSIsContainer } manualmente todas as vezes. Idealmente, gostaria que dir /ad aliasse a esse comando.

    
por Mark Henderson 03.02.2014 / 21:59

2 respostas

2

Coloque uma função como esta no seu perfil:

 function d([string]$switch)
 {
     if ($switch -eq "d")
     {
         Get-ChildItem -Recurse | ?{ $_.PSIsContainer }
     }
     elseif ($switch -eq "f")
     {
         Get-ChildItem -Recurse | ?{ !$_.PSIsContainer }
     }
     else
     {
         Get-ChildItem -Recurse
     }
 }

depois é só usar

d d

Você não pode usar parâmetros em aliases, mas as funções funcionam da mesma maneira. Você usa d -d em vez de apenas d d , ou pode tornar o diretório padrão e usar apenas d , as possibilidades são infinitas. Você também pode passar no caminho.

    
por 03.02.2014 / 22:52
3

how can I get a list of just folders?

gci -d é apenas sete teclas digitando Enter ... e está lá esperando por você, se você estiver disposto a atualizar seu Powershell para v3 ou melhor. :)

gci -d -r se você quiser recursão.

Editar: removemos os pressionamentos de tecla da guia porque eles não são necessários.

    
por 03.02.2014 / 22:09

Tags