В последнем отбрасывании PSCX мы обновили EchoArgs.exe, чтобы также отображать всю командную строку в том виде, в каком ее видит принимающее приложение.В этом случае вы получите:
14 > echoargs $path $path2
Arg 0 is c:\program files" c:\program
Arg 1 is files\fred2"
Command line:
"C:\Users\Keith\Documents\WindowsPowerShell\Modules\Pscx\Apps\EchoArgs.exe" "c:\program files\" "c:\program files\fred2
\"
Казалось бы, что \"
заставляет где-то экранировать двойную кавычку.Кстати, то же самое происходит в CMD.exe из того, что я могу сказать.Если вы изменили свои пути, чтобы удалить косую черту (или если вы использовали прямую косую черту), этого не произойдет.
20 > $path = "c:\program files"
21 > $path2 = "c:\program files\fred2"
22 > echoargs $path $path2
Arg 0 is c:\program files
Arg 1 is c:\program files\fred2
Command line:
"C:\Users\Keith\Documents\WindowsPowerShell\Modules\Pscx\Apps\EchoArgs.exe" "c:\program files" "c:\program files\fred2"
Если вы получите эти пути откуда-то еще, вы можете удалить обратную косую черту какитак:
$path = $path.TrimEnd("\")