【发布时间】:2020-06-28 18:49:04
【问题描述】:
我有一个批处理文件,它以提升的权限启动 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 命令前添加
cd /d "%~dp0以更改到正确的文件夹。 -
在您的 bat 文件中只需执行
pushd C:\folder然后在 powershell 命令之后执行popd。 -
我一定是误会了。我不断收到系统找不到指定的路径。
标签: powershell batch-file relative-path