使用相对路径从批处理文件中执行PowerShell

矿工

我有一个批处理文件,该文件以提升的特权启动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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章