Windows 使用runas命令运行脚本

Windows 使用runas命令运行脚本,windows,Windows,我需要以管理员身份运行安装脚本。我试过几种方法,但都不管用 runas /user:Administrator install.bat shell请求密码,然后打开一个新的shell窗口,并立即关闭它而不执行脚本 runas /user:Administrator "call install.bat" shell请求密码,但失败,出现错误 Unable to run - call install.bat 2: The system cannot find the file specifie

我需要以管理员身份运行安装脚本。我试过几种方法,但都不管用

runas /user:Administrator install.bat
shell请求密码,然后打开一个新的shell窗口,并立即关闭它而不执行脚本

runas /user:Administrator "call install.bat" 
shell请求密码,但失败,出现错误

Unable to run - call install.bat
2: The system cannot find the file specified
我不明白的是,如果我运行命令
call install.bat
而没有
runas
部分,脚本就会运行。需要管理员凭据的命令失败,但这是预期的

我有两个问题:

  • 如何使用runas命令以管理员身份运行脚本
  • 您能否解释一下为什么以下调用不起作用:
    runas/user:Administrator“call install.bat”

使用
cmd.exe
这是您解释
.cmd
.bat
文件的工具

runas /user:Administrator "cmd.exe /K install.bat"

检查
cmd.exe/?
查看
/K
/C

注意:
/C
更可能是您想要的

注释后的旁注:
runas
有一个
/env
选项:

/env              to use current environment instead of user's.

批处理文件由解释器(cmd)执行。为了在特权模式下运行脚本,您需要带有提升特权的cmd。请尝试使用cmd而不是call。

问题在于它会创建一个新的shell窗口,并清理当前环境(工作目录、自定义环境变量)@Sydney:尽管如此,这是一种方法。在准备好环境后,您可以编写一个包装器脚本来调用
install.bat
。此外还有
runas/env
。。。但你甚至没有在你的问题中详细说明这个附带条件。
/env              to use current environment instead of user's.