Я заметил разницу между PowerShell 4 и PowerShell 5.
Давайте рассмотрим следующий скрипт PowerShell:
. SomeProgram.exe "something=""Hello World!"""
Аргументы, видимые 'SomeProgram.exe' с PowerShell 4 (а может и меньше) :
- arg 0: что-то = Hello
- arg 1: World!
Аргументы видят«SomeProgram.exe» с PowerShell 5 :
- arg 0: что-то = Hello World!
Обратите внимание, чтоэта разница возникает только тогда, когда аргумент содержит некоторый текст перед двойной кавычкой:
- "sometext" "Hello World!" "" ? KO
но
- "" "Hello World!" "" ? OK
Заключение:
В PowerShell 4 возникает ошибка при анализе аргумента в виде:
ATextWithoutSpace"A Text with space"
PowerShell 5 отбрасывает двойные кавычки и рассматривает всю строку как однуаргументd be).
PowerShell 4 разбивает двойные кавычки, но приводит несколько аргументов, разделяя строку пробелами.
Есть ли способ получить такое же поведение между PowerShell 4 и PowerShell 4?