【问题标题】:Run a script file as administrator以管理员身份运行脚本文件
【发布时间】:2011-03-31 15:20:06
【问题描述】:

我有这个 .vbs 脚本,我试图在 Windows 7 上运行。 它必须以完全权限运行,并且必须自动执行。 需要明确的是,当用户双击文件时,它会得到询问“允许以管理员身份运行文件”的提示,然后以完全权限运行。

为此,我创建了一个调用脚本文件的批处理文件 (run.bat)

cscript "V02.vbs"
pause

然后我为批处理文件创建了一个快捷方式,我可以选择以管理员身份运行。

我现在遇到的问题是,当我以管理员身份运行批处理文件时,文件夹更改为 c\windows\system32。脚本、批处理文件和快捷方式都在同一个文件夹中。有没有办法获取文件夹位置?

【问题讨论】:

  • 您是否在快捷方式中设置了start In 属性?
  • start in 指向包含文件的文件夹

标签: windows-7 vbscript batch-file command-prompt


【解决方案1】:

我可能误会了……

最简单的解决方案是将该路径“硬编码”到补丁文件中,并使用 - cd \path\to\my\script cscript myscript.vbs 暂停

【讨论】:

  • 可以,但是这个文件夹会被发送给不同的用户。它需要以这样一种方式,无论用户是否保存它,用户打开文件夹,双击快捷方式就可以了。
  • 创建一个用户首先运行的批处理文件。假设 setup.bat - 在该批处理文件中,获取当前工作目录并将其插入到脚本中。然后,您可以使用此方法以管理员身份动态运行 - insidethe.com/blog/2009/12/…
【解决方案2】:

使用“modifiers with batch parameters”。来自链接的文档:

%~dp1 将 %1 扩展为驱动器号和路径。

由于%0 是您的脚本,%~dp0 就是您想要的:

cscript "%~dp0V02.vbs"
pause

请注意,%~dp0 包含尾部反斜杠,因此您上面的 v02.vbs 文件名变得很难阅读。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 2013-01-16
    • 1970-01-01
    相关资源
    最近更新 更多