Passando o conteúdo do diretório como uma única linha para um executável no Powershell

StackOverflow https://stackoverflow.com/questions/1567927

  •  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?

Foi útil?

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
scroll top