windows 使用Window的“runas”命令时如何使用相对路径

cunj1qz1  于 2022-11-18  发布在  Windows
关注(0)|答案(3)|浏览(233)

我尝试在我构建的文件夹系统中使用runas命令,以不同的用户身份运行多个脚本。当我输入要运行的脚本的完整文件路径时,例如:

runas /user:jmc C:\foo\script.bat

它工作得很好,但是,当我试图使用关系文件路径时,它失败了,说它找不到脚本。

cd C:\foo
C:\Windows\System32\runas.exe /user:jmc .\script.bat

有人知道如何在runas命令中使用关系文件路径吗?提前感谢!

ih99xse1

ih99xse11#

根据http://tmdean.blogspot.com/2015/07/preserving-current-working-directory.html,您可以执行以下操作:

runas /netonly /u:domain\user "cmd /c \"cd \"%CD%\" ^& program"
guz6ccqo

guz6ccqo2#

这篇文章有点过时了,但是现在你可以使用选项“env”将启动程序的环境附加到当前执行的env:

cd C:\foo
runas /env /user:jmc .\script.bat
gudnpqoy

gudnpqoy3#

我认为更正确的avs099's answer版本应该在%CD%之后有额外的\\才能正常工作,在cmd之后有/D标志才能改变当前的磁盘。所以,正确的版本看起来像:

runas /netonly /u:domain\user "cmd /c \"cd /d \"%CD%\\\" ^& program"

实际上,我使用并检查了它与其他参数:

runas /savecred /user:someuser "cmd /c \"cd /d \"%CD%\\\" ^& \"any\path\program.exe\""

/netonly/savecred都与问题无关。

相关问题