Wie kann ich PowerShell-Befehle ausführen, ohne Argumente in Anführungszeichen zu setzen?

802
kem

Wenn ich versuche, ein Programm mit einer Befehlszeilenoption an der PowerShell-Eingabeaufforderung auszuführen, wird die Option in PowerShell nicht mehr angezeigt. Warum passiert das? Gibt es eine Möglichkeit, sie zu stoppen, außer die Option in Anführungszeichen zu setzen?

Beispielsweise an der PowerShell-Eingabeaufforderung:

PS Microsoft.PowerShell.Core\FileSystem::\\\\mach\share> .\myprog.exe -file=input.txt 

myprog.exe erhält zwei Argumente:

  1. -file = Eingabe
  2. .TXT

Ich muss es laufen lassen wie:

.\myprog.exe "-file=input.txt"

oder

.\myprog.exe '-file=input.txt'

es zu zwingen, ein Argument zu sein. Keine andere Hülle macht das.

4

1 Antwort auf die Frage

2
sgmoore

Dies bezieht sich auf das erste Zeichen des Parameters, dh das -.

Zum Beispiel funktionieren file = input.txt, /file=input.txt und --file = input.txt wahrscheinlich alle, aber nicht -file = input.txt.

Viele Programme würden /file=input.txt anstelle von -file = input.txt akzeptieren, was eine Problemumgehung ermöglichen kann.