CMD命令行中以管理员权限启动应用程序实现方法

2019-01-29 23:15:25刘景俊

%~d0 是指批处理所在的盘符,其中d代表drive
%~p0 是指批处理所在的目录,其中p代表path
%~dp0 是批处理所在的盘符加路径


cd %~dp0 就是进入批处理所在目录了


详细解释还可参考命令 call /?

自从Vista带来了UAC之后,应用程序就变成了两种,有管理员权限的,和没有管理员权限的。一些老的应用程序会莫名其妙地出错,这时候就要考虑右击应用程序,然后“以管理员身份运行”。这还不是什么大问题,exe文件的右键菜单里都会有这个,但是对于一些脚本文件(cmd, js一类)来说,就没那么方便了。通常需要重新开一个带管理员权限的命令行窗口,然后打很多cd回到刚的文件夹,然后再运行脚本,相当麻烦。

搜了一下,找到一个解决办法。把下面的代码保存为Elevate.js:

var command = WScript.Arguments.Item(0); var argument = ""; for (var i = 0; i < WScript.Arguments.Count(); ++i){ argument += WScript.Arguments.Item(i) + " "; } try{ var shellapp = new ActiveXObject("Shell.Application"); shellapp.ShellExecute(command, argument, null, "runas", 1); } catch(e){ WScript.Echo("Something wrong: " + e.description); }

以后要以管理员身份运行程序的时候,只要输入“Elevate <exefile> <arguments>”就可以了,比如“Elevate cmd /k”。

当然,这个逃不过UAC的检查,还是会有一个对话框弹出来要点“确定”的。

您可能感兴趣的文章:

JSP 2.1和JSF 1.2规范发布预览版本js 编写规范JSDoc 介绍使用规范JsDoc的使用介绍Javascript模块化编程(一)AMD规范(规范使用模块)Java Web项目前端规范(采用命名空间使js深度解耦合)AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法Node.js编码规范PowerShell中使用Get-Alias命令获取cmdlet别名例子C#调用CMD命令实例Windows Powershell 命令集 cmdletsPHP中执行cmd命令的方法PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)java执行windows下cmd命令的方法bat/cmd批处理连接SqlServer数据库查询脚本Python使用CMD模块更优雅的运行脚本C#隐式运行CMD命令(隐藏命令窗口)JavaScript模块规范之AMD规范和CMD规范
相关文章 大家在看