我有一个批处理文件,该文件以提升的特权启动PowerShell脚本并绕过执行策略:
PowerShell -NoProfile -ExecutionPolicy Unrestricted -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Unrestricted -File ""C:\Users\Bob\Desktop\New folder\Server.ps1""' -Verb RunAs}";
这行不行!我希望能够使用相对路径作为文件路径。
PowerShell -NoProfile -ExecutionPolicy Unrestricted -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Unrestricted -File "".\Server.ps1""' -Verb RunAs}";
由于某些原因,此操作失败。我究竟做错了什么?
如果您的PowerShell脚本在cmd指向的位置不存在,则在该目录中相对路径搜索时会出现错误。如果PS脚本与批处理脚本位于同一位置,则可以按如下所示从批处理中调用PS脚本:
Powershell "%~dp0Server.ps1"
如果PowerShell和批处理脚本的位置不同,则首先需要在批处理中更改目录,然后按如下所示调用PowerShell脚本:
cd /d "C:\Users\Bob\Desktop\New Folder\"
Powershell -NoProfile .\Server.ps1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句