问题描述
我需要在 powershell 中将一些参数传递给这个 start-process 命令。到目前为止,一直无法将参数传递给应用程序。似乎我不能用引号将我的应用程序参数括起来,没有它们,命令就可以正常工作。
start-process "c:\app\myApp.exe /S '/V /qn AllUsers=1 SN=123-456' " -NoNewWindow -Wait -Passthru
有没有办法在powershell中将引号内的引号组合起来? ...谢谢
解决方法
你可以试试这个方法
SELECT p.id,w.id AS walk_id,p.geometry,p.id IN (SELECT id
FROM points
WHERE ST_INTERSECTS(p.geometry,'SRID=4326;POLYGON((-81.8 -0.5,-81.1 -0.5,-81.1 -1.5,-81.8 -1.5,-81.8 -0.5))'
)) AS in_area
FROM points p
JOIN walks w
ON w.id = p.walk_id
WHERE w.id IN (SELECT w.id
FROM walks w
JOIN points p
ON p.walk_id = w.id
WHERE ST_INTERSECTS(p.geometry,-81.8 -0.5))'
))
ORDER BY p.time ASC;
使用Start-Process -FilePath "c:\app\myApp.exe" -ArgumentList "/S","'/V /qn AllUsers=1 SN=123-456'" -NoNewWindow -Wait -PassThru
例如:
-ArgumentList "arg1","arg2",...
输出:
Start-Process -FilePath "python" -ArgumentList "-c","print('hello')" -NoNewWindow -Wait -PassThru
,
您可以将整个参数列表作为单个字符串提供:
Start-Process -FilePath "c:\app\myApp.exe -ArgumentList "/S '/V /qn AllUsers=1 SN=123-456'" -NoNewWindow -Wait -PassThru
或者 您可以拆分它们
Start-Process -FilePath "c:\app\myApp.exe -ArgumentList "/S","'/V /qn AllUsers=1 SN=123-456'" -NoNewWindow -Wait -PassThru
More information on start-process
,看起来管道参数是要走的路:-PassThru |等待过程;这让我们解决了问题。 ... ty。