以管理员身份启动没有命令窗口的bat文件?

POP*_*RNS 2 windows batch vbscript batch-file windows-10

我尝试了很多解决方案,但不知怎的,它们都不起作用。

我目前可以从 vbs 启动没有命令窗口的 bat 文件,但我不知道如何以管理员身份启动它。

VBScript(这样我就可以在没有命令窗口的情况下启动批处理文件):

Set oShell = CreateObject ("Wscript.Shell") Dim strArgs strArgs = "cmd /c Start.bat" oShell.Run strArgs, 0, false

批处理(Start.bat):

Start /wait Application.exe Net stop ServiceNameGoesHere

如何以管理员身份启动批处理文件,同时仍使其不可见?

Dra*_*non 5

您可以改用Windows Shell 对象ShellExecute方法,并使用该操作。runas

Set Shell = CreateObject("Shell.Application")
Shell.ShellExecute "Start.bat", , , "runas", 0
Run Code Online (Sandbox Code Playgroud)

这将请求海拔并运行Start.bat

ShellExecute 的参数是(从 MSDN 上的 ShellExecute 页面摘录和总结):

  • sFile [in] - 要执行操作的文件名字符串
  • vArguments [in,可选] - 参数字符串(命令行参数)
  • vDirectory [in,可选] - 包含 sFile 指定的文件的目录的完全限定路径。如果未指定此参数,则使用当前工作目录。
  • vOperation [in,可选] - 要执行的操作。如果不指定该参数,则执行默认操作。
  • vShow [in,可选] - 初始窗口显示推荐。0 表示隐藏。

如果您绝对必须使用cmd /c运行批处理文件,则需要指定它的完整路径。调用看起来像这样:

Set Shell = CreateObject("Shell.Application")
Shell.ShellExecute "cmd", "/c F:\ull\path\to\Start.bat", , "runas", 0
Run Code Online (Sandbox Code Playgroud)