找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19601|回复: 1

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

[复制链接]
发表于 2021-5-23 18:23:34 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2021-11-27 22:02:35 | 显示全部楼层
本帖最后由 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运行,但想直接通过代码执行的话就要像上面那样多绕一步

希望有大大能补充更简单的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:54 , Processed in 0.030021 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表