我尝试在我构建的文件夹系统中使用runas命令,以不同的用户身份运行多个脚本。当我输入要运行的脚本的完整文件路径时,例如:
runas /user:jmc C:\foo\script.bat
它工作得很好,但是,当我试图使用关系文件路径时,它失败了,说它找不到脚本。
cd C:\foo C:\Windows\System32\runas.exe /user:jmc .\script.bat
有人知道如何在runas命令中使用关系文件路径吗?提前感谢!
ih99xse11#
根据http://tmdean.blogspot.com/2015/07/preserving-current-working-directory.html,您可以执行以下操作:
runas /netonly /u:domain\user "cmd /c \"cd \"%CD%\" ^& program"
guz6ccqo2#
这篇文章有点过时了,但是现在你可以使用选项“env”将启动程序的环境附加到当前执行的env:
cd C:\foo runas /env /user:jmc .\script.bat
gudnpqoy3#
我认为更正确的avs099's answer版本应该在%CD%之后有额外的\\才能正常工作,在cmd之后有/D标志才能改变当前的磁盘。所以,正确的版本看起来像:
%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都与问题无关。
/netonly
/savecred
3条答案
按热度按时间ih99xse11#
根据http://tmdean.blogspot.com/2015/07/preserving-current-working-directory.html,您可以执行以下操作:
guz6ccqo2#
这篇文章有点过时了,但是现在你可以使用选项“env”将启动程序的环境附加到当前执行的env:
gudnpqoy3#
我认为更正确的avs099's answer版本应该在
%CD%
之后有额外的\\
才能正常工作,在cmd
之后有/D
标志才能改变当前的磁盘。所以,正确的版本看起来像:实际上,我使用并检查了它与其他参数:
/netonly
和/savecred
都与问题无关。