Como posso converter um objeto de matriz em string?
Eu tentei:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
sem sorte . Quais são as diferentes possibilidades no PowerShell?
powershell
powershell-2.0
jrara
fonte
fonte
Respostas:
Usando aspas duplas (e, opcionalmente, use o separador
$ofs
)Usando junção de operador
Usando a conversão para
[string]
fonte
$ofs
está documentado aquiDescobri que canalizar a matriz para o
Out-String
cmdlet também funciona bem.Por exemplo:
Depende do seu objetivo final sobre qual método é o melhor para usar.
fonte
$a
teria o mesmo efeito que$a | out-string
($a | out-string).getType()
= String.$a.getType()
= Objeto []. Se você estiver usando $ a como argumento para um método que espera uma sequência de caracteres (comoinvoke-expression
por exemplo), terá$a | out-string
uma clara vantagem.A linha dois executa a operação e as saídas para o host, mas não modifica $ a:
fonte
De um cano
Host de gravação
Exemplo
fonte
$ofs
éOutput Field Separator
variável, que é usado quando uma matriz é convertida em cadeia para a saída. Aqui, ele é definido no bloco de scripts, retornando o valor da string da entrada (matriz do canal) que é executada pelo comando&
. Eu não sabia sobre$ofs
antes, bem como&
aceitar um bloco de script como argumentoVocê pode especificar um tipo como este:
Verificando o tipo:
Confirma:
Saída de $ a:
fonte
fonte