Passing Verzeichnisinhalt als eine einzige Zeile zu einer ausführbaren Datei in Powershell

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

  •  21-09-2019
  •  | 
  •  

Frage

Ich habe eine ausführbare Binärdatei, die eine Liste von Dateipfaden als Argumente verwendet, z. B.

  

C: \ Tool.exe C: \ Files \ File1.txt C: \ Files \ Datei2.txt

Ich mag dieses Tool von Powershell nennen. Die Frage ist, wie kann ich die Ausgabe von Get-ChildItem alle auf einer Linie?

Wenn ich ausführen:

  

ls. C: \ Files \ * .txt | Wählen Sie Fullname

Ich bekomme einen Pfad pro Zeile. Wie kann ich die Ergebnisse verketten?

War es hilfreich?

Lösung

In Powershell 2.0 Sie -join Operator verwenden können:

(ls C:\Files\*.txt | %{ $_.FullName }) -join ' '

In Powershell 1.0 können Sie $OFS eingestellt, die verwendet wird, eine Folge von Elementen zu kombinieren, wenn sie als Zeichenfolge verwendet werden:

$ofs = ' '
"$(ls C:\Files\*.txt | %{ $_.FullName })"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top