[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 怎样以管理员身份隐藏运行BAT

本帖最后由 smss 于 2021-5-23 18:29 编辑

http://www.bathome.net/thread-49098-1-2.html
  1. for %%i in (Wim esd ISO)do ((if Wim==%%i set i=53)&(if %%i==ESD set i=57)&(if %%i==ISO set i=88)
  2. reg add "HKLM\SOFTWARE\Classes\Directory\shell\给朕打包为%%i" /v icon /t REG_SZ /d SHELL32.dll,1!i! /f
  3. reg add "HKCR\Directory\shell\给朕打包为%%i\Command" /f /ve /t REG_SZ /d "\"%~dp0HIDECMD.exe\" \"%~dp0执行.bat\" \"%%1\" %%i"
  4. if not ISO==%%i (reg add "HKCR\SystemFileAssociations\.%%i\Shell\给朕解开..." /v icon /t REG_SZ /d SHELL32.dll,1!i! /f
  5. reg add "HKCR\SystemFileAssociations\.%%i\Shell\给朕解开...\Command" /f /ve /t REG_SZ /d "\"%~dp0HIDECMD.exe\" \"%~dp0执行.bat\" \"%%1\" WimEsd"
  6. )
  7. )
复制代码
以管理员身份运行" 由注册表项:HKEY_CLASSES_ROOT\batfile\shell\runas\command 控制,其默认值为:%SystemRoot%\System32\cmd.exe /C "%1" %*
能不能在注册表中就把这个和HIDECMD合并为一句呢@WHY@Batcher管理员应该知道
在脚本头加以下代码 也是一知半解 用VBS隐藏会有黑窗一闪而过 最后用的HIDECMD来隐藏 大师们都是怎样处理这个问题呢
%2 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

本帖最后由 aceamuro 于 2021-11-27 22:04 编辑

我懂的很少,用的方法很麻烦,但好像勉强可以实现
首先写个run.vbs
  1. set ws=WScript.CreateObject("WScript.Shell")
  2. ws.Run "a.bat",0
复制代码
这个vbs的目的是隐藏a.bat的cmd窗口
然后下载个powerrun放在同一目录中,并且在a.bat中写入
  1. powerrun /SW:0 b.bat
复制代码
powerrun的目的是以最高权限运行b.bat并且隐藏窗口,b.bat中写的就是你想要实现的具体代码
最后运行run.vbs就能以最高权限并隐藏窗口来运行b.bat,但用户账户的提示还是会出现

当然你也可以打开powerrun软件直接载入b.bat运行,但想直接通过代码执行的话就要像上面那样多绕一步

希望有大大能补充更简单的方法

TOP

返回列表