Passando o conteúdo do diretório como uma única linha para um executável no Powershell
-
21-09-2019 - |
Pergunta
Eu tenho um executável binário que usa uma lista de caminhos de arquivos como argumentos, por exemplo,
C: ool.exe C:\Arquivos\Arquivo1.txt C:\Arquivos\Arquivo2.txt
Eu gostaria de chamar essa ferramenta de Powershell.A questão é: como posso obter a saída de get-childitem em uma linha?
Se eu correr:
LS C: Arquivos *. TXT | Selecione FullName
Eu recebo um caminho por linha.Como posso concatenar os resultados?
Solução
No PowerShell 2.0 você pode usar o operador -join:
(ls C:\Files\*.txt | %{ $_.FullName }) -join ' '
No PowerShell 1.0 você pode definir $OFS
, que é usado para combinar uma sequência de itens quando eles são usados como uma string:
$ofs = ' '
"$(ls C:\Files\*.txt | %{ $_.FullName })"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow