Bagaimana saya bisa menjalankan perintah PowerShell tanpa menyertakan argumen dalam tanda kutip?

4

Ketika saya mencoba menjalankan sebuah program dengan opsi baris perintah dari prompt PowerShell, PowerShell akhirnya merusak opsi. Mengapa ini terjadi? Apakah ada cara untuk menghentikannya selain menyertakan opsi dalam tanda kutip?

Misalnya, dari prompt PowerShell:

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

myprog.exe akhirnya mendapatkan dua argumen:

  1. -file = input
  2. .txt

Saya perlu menjalankannya seperti:

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

atau

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

untuk memaksanya menjadi satu argumen. Tidak ada shell lain yang melakukan ini.

kem
sumber

Jawaban:

2

Ini terkait dengan karakter pertama dari parameter, yaitu -

Misalnya file = input.txt, /file=input.txt dan --file = input.txt mungkin akan berfungsi, tetapi tidak -file = input.txt.

Cukup banyak program yang akan menerima /file=input.txt in-of -file = input.txt yang memungkinkan penyelesaian.

sgmoore
sumber