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

[特效代码] [已解决]这个代码是不是隐藏运行批处理

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin

这段代码是隐藏运行批处理?

[ 本帖最后由 waa333 于 2009-11-21 10:56 编辑 ]

我就以一段最小化运行的批处理代码来说明下吧,代码如下:
  1. @echo off
  2. if "%1" equ "p" goto next
  3. start /min %~fs0 p&exit
  4. :next
  5. echo bathome
  6. pause>nul
复制代码
当双击批处理运行时,参数%1没有定义为空所以不会跳转到next,于是就会以最小化运行的
方式调用本身,同时将p值做为参数%1传递给过去,然后结束本次运行。这样被调用的本身
运行时参数%1的值就是p了,于是就会直接跳转到next处,也不会再调用本身了。实际上批
处理本身运行了两次,第一次在调用本身后提前结束了,第二次才是真正的最小化运行。由
于第一行运行的时间非常短,所以我们在视觉上就会以为是本身最小化运行了(如果你够仔
细,你会发现运行时总有一个小小的闪动)。也不知道是不是讲清楚了,大家同样可以用这样
的思路来分析楼主所提供的这段批处理本身隐藏运行的代码。
***共同提高***

TOP

你测试了没?结果如何?
本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;


Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表