2011-03-31 269 views
2

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

要做到这一点,我创建了一个调用脚本文件

cscript "V02.vbs" 
pause 

然后,我创建批处理文件,我可以选择以管理员运行快捷方式的批处理文件(run.bat中)。

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

+0

在你的快捷方式中,你是否设置了'start in'属性? – RRUZ 2011-03-31 15:23:43

+0

开始指向包含文件 – Marcom 2011-03-31 15:25:59

回答

2

我可能误解了......

最简单的解决办法是“硬编码”这条道路与一个补丁文件 - CD \路径\为\我\脚本 CSCRIPT myscript.vbs 暂停

+0

的文件夹,但该文件夹将发送给不同的用户。它需要以这样的方式,无论用户保存它,用户打开文件夹,双击快捷方式,它的工作原理。 – Marcom 2011-03-31 15:28:34

+1

创建用户首先运行的批处理文件。让我们说setup.bat - 在该批处理文件中,获取当前工作目录并将其插入到脚本中。然后,您可以使用此方法来动态运行 - 作为管理 - http://www.insidethe.com/blog/2009/12/how-to-launch-a-wsh-vbscript-as-administrator-in-windows- 7-and-vista/ – tamarintech 2011-03-31 16:09:10

+0

很好地工作。谢谢! – Marcom 2011-03-31 16:21:46

1

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

%〜dp1将%1展开为驱动器号和路径。

由于%0是你的脚本,%~dp0是你想要什么:

cscript "%~dp0V02.vbs" 
pause 

注意%〜DP0包括尾部的反斜杠,所以你v02.vbs文件上面的名字变得非常难读。

相关问题