![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 07:18 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 隐藏代码的%1参数怎么理解,有什么用? |
| 可打印版本 1,016 / 7 |
| 第1楼 OsOcmd | 发表于 2010-05-13 22:11 |
| 新手上路 发帖 4 积分 4 | |
|
隐藏代码的%1参数怎么理解,有什么用? @echo off
if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin 类似的还有: @echo oFF if "%1" neq "1" ( >"%temp%\tmp.vbs" echo set WshShell = WScript.CreateObject^(^"WScript.Shell^"^) >>"%temp%\tmp.vbs" echo WshShell.Run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" 1^",0 start /d "%temp%" tmp.vbs exit ) 请问i这些"%1"的值是怎么来的??又该如何去写这些判断?谢谢! |
|
| 第2楼 rs369007 | 发表于 2010-05-13 23:26 |
| 初级用户 发帖 131 积分 147 | |
|
call 或者在命令行调用的时候传入的参数
|
|
| 第3楼 OsOcmd | 发表于 2010-05-14 02:59 |
| 新手上路 发帖 4 积分 4 | |
Originally posted by rs369007 at 2010-5-13 23:26: 代码是加在批处理前直接运行的啊,没有使用CALL和命令行传入。 |
|
| 第4楼 OsOcmd | 发表于 2010-05-15 00:39 |
| 新手上路 发帖 4 积分 4 | |
|
想学mshta的用法,求高手不吝施教!
|
|
| 第5楼 arrowsang | 发表于 2010-05-15 03:38 |
| 新手上路 发帖 3 积分 3 | |
|
我知道%0删除本身
|
|
| 第6楼 flyghost | 发表于 2010-05-16 00:27 |
| 新手上路 发帖 11 积分 12 | |
|
%1 是批处理调用时传递的第一个参数
if "%1" == "h" goto begin 第一次运行时由于没有参数if条件不成立直接运行下一句 mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit 调用批处理自身,同时把 h 当作参数传递给批处理,运行到这里if条件已经成立,所以会跳到begin运行下面的代码,此时窗口已经是隐藏的了,达到了目的。 我也是菜鸟,对批处理只知道一点点,只能理解这么多了。 |
|
| 第7楼 OsOcmd | 发表于 2010-05-16 04:41 |
| 新手上路 发帖 4 积分 4 | |
|
已经明白了 ,只想问下mshta怎么写批处理 ,谢谢。
|
|
| 第8楼 flyghost | 发表于 2010-05-16 11:03 |
| 新手上路 发帖 11 积分 12 | |
|
mshta的用法网上很少资料,需要自己上msdn去查查
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |