我有一個使用命令行應用程序生成PDF報告的腳本。Powershell - 如何在參數列表中傳遞變量
下面是批量形式(日期變量)的腳本:
QsrCrExport.exe -f"C:\SMTP\Reports\Speed of Service Summary" -o"C:\SMTP\Daily_Archive\SpeedofService.pdf" -a"Date:%one%,%one%" -epdf
我試圖實現以上到PowerShell中使用的啓動過程與論點,但似乎無法得到的參數正常工作
$crexport = "C:\Program Files (x86)\ReportViewer\Bin\QsrCrExport.exe";
$arguments = '-f"C:\ProgramData\ReportViewer\Reports\Speed of Service Summary" -o"C:\SMTP\Generated\SpeedofService.pdf" -a"Date:$reportdate1,$reportdate2" -epdf'
Start-Process $crexport $arguments -Wait;
我知道這是行不通的包裹在單引號的變量不會被使用的值替換,但是如果我刪除參數中的所有雙引號和包裝整條生產線在雙引號它還是贏了沒有工作。
我很新的PowerShell,所以如果這是非常直截了當的道歉。
http://stackoverflow.com/questions/38900961/passing-variable-arguments-using-powershells-start-process-cmdlet。這一個很薄弱,但答案是正確的。你需要將你的參數作爲數組___傳遞。如果您同意,將會被標記爲愚蠢。還有關於調用exe的其他答案,但這是我可以罰款的開始進程沒有埋沒的最好的答案。 – Matt