При использовании PowerShell CLI с параметром -File
используются все аргументы дословно - кроме случаев, когда они заключены в "..."
(двойные кавычки): в отличие от использования -Command
, '...'
(одинарные кавычки) не распознаются как строка разделители .
Следовательно, вашкоманда (здесь упрощенно):
powershell.exe -File C:\path\to\Unt1.ps1 'XXXX' 'XXXX@321' 'C:\cal.bat'
заставляет скрипт Unt1.ps1
видеть аргументы с включенным '
,что не ваше намерение;например, вместо $args[0]
получения XXXX
, как и предполагалось, он получает 'XXXX'
дословно.
Исправление заключается в использовании "..."
(двойные кавычки) :
powershell.exe -File C:\path\to\Unt1.ps1 "XXXX" "XXXX@321" "C:\cal.bat"
В качестве альтернативы, учитывая, что ваши конкретные примеры аргументов не требуют цитирования (хотя могут быть и реальные):
powershell.exe -File C:\path\to\Unt1.ps1 XXXX XXXX@321 C:\cal.bat