Я пишу программу, которая включает запуск PowerShell и передачу инструкций в качестве первого аргумента. Я передаю несколько инструкций и связываю их вместе с ;
. После отладки и тестирования вещей, я думаю, я нашел суть моей проблемы, и я честно не могу сказать, является ли это сбой PowerShell или я просто очень глуп. «Глюк» по сути сводится к следующему:
Если вы откроете PowerShell и запустите:
$string = "test"; Add-Content "A:\file.txt" $string
Вы получаете файл file.txt, который содержит «test», как и ожидалось.
Теперь, если вы вместо этого вызовете PowerShell, скажем, из терминала, и передадите эту инструкцию в качестве параметра, вы получите файл file.txt, но без содержимого внутри, несмотря на идентичность команды. Я предполагаю, что переменная $string
отбрасывается после ;
, когда инструкция передается в качестве аргумента, но что я знаю. Может ли быть обходной путь, или я упускаю что-то очевидное?