Como produzir uma saída 'ls' semelhante ao Linux no Powershell?

1

Eu não quero que a saída de ls ( Get-ChildItem ) seja vertical (um arquivo de uma linha) no Powershell. Eu quero que seja horizontal (como uma tabela no Linux). Depois de pesquisar na web, não sei como fazer isso.

E ls -n | Format-Table não funciona. Ainda é vertical.

Eu não sou um falante nativo de inglês, então me perdoe por alguns erros gramaticais.

    
por Guo Shuai 23.05.2018 / 11:58

1 resposta

1

Eu não sei ao certo por que você gostaria de fazer / esperar isso no Windows, mas isso está prestes a acontecer, com o Win PoSH nativo.

collect the path listing, split on the line feed, join with a space delimiter 
(ls -n) -split "'n" -join " "

O sistema de arquivos do Windows simplesmente não lista nativamente os arquivos dessa maneira e Win PoSH O objetivo não é imitar o que os sistemas de arquivos de outros sistemas operacionais fazem, já que ele usará o que é e é apenas uma lista de cadeias de caracteres, e não a visualização de tabela no * NIX. Sem cor realce de arquivos ou diretórios.

Antes de perguntar, não, você não pode simplesmente usar o Format-Table para o que estou mostrando.

Se você quer este visual, então você precisa escrever seu próprio wrapper para LS / GCI. Use PoSHv6 em * NIX ou OSX, ou use uma porta ls conforme indicado pela outra resposta. Se você estiver no Win10, ative o WSL (Bash no Linux) e apenas use o WSL em vez do Win PoSH.

Você pode apenas selecionar arquivos ou diretórios.

(ls -n -directory) -split "'n" -join " "

(ls -n -file) -split "'n" -join " "

Você pode usar o cmdlet Format-Wide, dependendo da versão do PoSH em que você está.

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-wide?view=powershell-6

ls | Format-Wide -Column 5

Mas você não pode fazer, falhará, sem solução alternativa.

ls -n | Format-Wide -Column 5

Você precisa fazer coisas como o, já que é o cmdlet Format-Wide que faz esse trabalho.

ls | Format-Wide -Column 5 -Property Name
    
por 23.05.2018 / 20:14