中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 16:38
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]哪位帮忙注解代码:BAT动态生成VBS并调用 查看 826 回复 2
楼 主 [已结]哪位帮忙注解代码:BAT动态生成VBS并调用 发表于 2008-12-01 10:53 ·  中国 云南 丽江 古城区 电信
初级用户
★★
积分 93
发帖 57
注册 2007-03-12 12:04
19年会员
UID 81503
性别 男
状态 离线
哪位高手能帮忙注解下面的代码,在此先谢谢啦!

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
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
)


[ Last edited by HAT on 2008-12-1 at 18:07 ]
2 发表于 2008-12-01 12:28 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
@ECHO OFF

SETLOCAL ENABLEDELAYEDEXPANSION

:: 开启变量延迟。 什么情况下该使用变量延迟?

IF "%1" NEQ "1" (
:: 如果第一个参数(%1)的字符不等于(NEQ)“1”,则执行后面括号里的命令。
:: 批处理参数 %0 代表批处理自身;%1~%9 代表批处理的9个参数。例如:
:: test.bat 的内容是:@echo %1 %2 %3&pause
:: 执行 test.bat 1 2 3 4,就会显示 1 2 3
:: NEQ if /?

>"%TEMP%\TMP.VBS" ECHO SET WSHSHELL = WSCRIPT.CREATEOBJECT^(^"WSCRIPT.SHELL^"^)
>>"%TEMP%\TMP.VBS" ECHO WSHSHELL.RUN CHR^(34^) ^& %0 ^& CHR^(34^) ^& ^" 1^",0

:: 创建文件 TMP.VBS 到 %TEMP% 目录。
:: 其中使用的“^”符号是转义字符 CMD/DOS下符号的作用参考

START /D "%TEMP%" TMP.VBS
:: start /?

EXIT
)
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
HAT +2 2008-12-01 18:06
3 发表于 2008-12-01 17:23 ·  中国 云南 丽江 古城区 电信
初级用户
★★
积分 93
发帖 57
注册 2007-03-12 12:04
19年会员
UID 81503
性别 男
状态 离线
ok!

很好啦,谢谢!
论坛跳转: