1.在批处理的第一行加入:cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行。

2.右键任务栏,选择资源管理器,进程选项卡,显示所有用户的进程,结束explorer,文件-新建任务 explorer,此时选中“利用管理特权创建此任务".桌面显示完成后就可以直接双击批处理运行了。

3.使用第三方提权工具,例如elevate ,用法elevate -c regsvr32 demo_doreg.dll
这种方法需要在每个提权的命令前都要加上elevate -c ,这种第三方工具适合于1个或者少个需要提权的情况。

4.使用bat to exe converter 1.51把批处理转换为exe,在转换的时候有选项可以选择 admin 权限。使用此软件时最好关掉360和其他杀软,因为软件好像要upx加壳。

1和4 两项适合分发给其他人员部署,第2条还是自己保留着当压箱底的吧。

--------------------------------------------------------------

win7 使用批处理注册dll可能会出现如下问题。

1. 模块  已加载,但对dllregisterServer的调用失败,错误代码为0x80040201
原因:使用管理员权限才能注册dll

2. 右键使用管理员 可能会出现如下错误:
模块  加载失败。请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的 .dll文件是否有问题。  找不到指定的模块。
原因:win7下管理员的命令行(批处理)默认的是system32文件夹。

解决方法:按照文章开头的第一条解决即可。
当然也可使用2、3、4等方案解决。