这是我关于stackoverflow的第一个问题,所以请放轻松。
问题:从 Powershell 脚本调用外部 EXE 文件应该如下所示。
C:\temp\someEXE.exe "batch" "B:\some path with spaces\file name with spaces.jpg" "" "C:\some other path"
我在 ps1 脚本中的 $Arguments 变量看起来像这样。
$Arguments = '"batch"', "$Originalpath", '""', "$Outpath\$Outfile"
Start-Process -Wait -FilePath "C:\Temp\SomeExe.exe" -ArgumentList "$Arguments"
参数 1 "batch" 和 3,空 "" 与 '""' (单 - 双 - 双 - 单)一起工作。
但是当我使用 '"$Variable"' (单双双单)时,它不会根据引用规则(https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell .core/about/about_quoting_rules?view=powershell-7.1)
所以我的问题是:我如何从 $Originalpath 到“B:\some path with spaces\file name with spaces.jpg”包括。这 ””
先感谢您
更新:当我添加一行将参数写入日志文件时,这一行给了我我需要的东西。
Write-output '"batch"',`"$Original`",'""',`"$AIAusgabepfad\$Originaldatei$Originaltyp`" | Out-file C:\Temp\Startup.log -append
但是当我以同样的方式尝试我的 $Arguments 时,脚本窗口会在同一秒内弹出并消失。