我写了一个PowerShell脚本来执行带有空格的参数的exe,但是它一直失败,没有读取完整路径。
$now = Get-Date -format "MM_dd_yyyy"
$onepath ="C:\Program Files (x86)\GoFileRoom\IWMUploadDocuments\logs\"
$scpath = "F:\Program Files\NSClient++\scripts\"
$onefile = "IWMUploadDocumentsLog$now.txt"
$script = "check_log3.exe"
& "$scpath$script" -p "Error Logging into GFR" -l "$onepath$onefile" -c 1
Write-Output "$onepath$onefile"
以下是输出:
PS C:\Windows\system32> F:\Program Files\NSClient++\scripts\onesource.ps1 Cannot read 'C:\Program' C:\Program Files (x86)\GoFileRoom\IWMUploadDocuments\logs\IWMUploadDocumentsLog10_22_2018.txt
答案 0 :(得分:0)
在我看来,您需要在参数-l
的参数周围加上一组引号:
& "$scpath$script" -p "Error Logging into GFR" -l "`"$onepath$onefile`"" -c 1
或尝试splatting参数:
$params = '-p', 'Error Logging into GFR',
'-l', "$onepath$onefile",
'-c', 1
& "$scpath$script" @params