![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 06:51 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 问个关于CALL调用的问题 |
| 可打印版本 1,099 / 6 |
| 第1楼 0401 | 发表于 2006-10-21 02:50 |
| 中级用户 发帖 88 积分 435 | |
|
问个关于CALL调用的问题 问题代码如下:
保存为.CMD文件后,我带参数运行 .CMD TEST 我想得到这样的输出 TEST /ADD /ADD 最主要的是最后一行.这段代码是可行的 但是如果我去掉代码中的 "CMD /C" 直接使用"%CMDFILE% %* /ADD"却不行,根本没把参数传递回去,为什么? 测试环境是XP下的CMD |
|
| 第2楼 不得不爱 | 发表于 2006-10-21 03:13 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
@ECHO OFF
IF %1#==# GOTO :EOF IF NOT %3#==# GOTO BEGIN SET CMDFILE=%~S0 GOTO:TEST %1 %2 GOTO :EOF :BEGIN ECHO %* GOTO :EOF :TEST ECHO [%*] %CMDFILE% %* /ADD GOTO :EOF |
|
| 第3楼 0401 | 发表于 2006-10-21 03:32 |
| 中级用户 发帖 88 积分 435 | |
|
好办法!以前都没注意到GOTO还可以带参数过去...
多谢指点~问题解决了 再问下:使用CALL为何不能达到同样的效果? |
|
| 第4楼 9527 | 发表于 2006-10-21 03:38 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
GOTO 能带参数???我怎么不知道呢?还有qwe1234567版主我觉得GOTO:TEST %1 %2这条语句 应该 GOTO TEST %1 %2这样才对吧,唉,GOTO能带参数???第一次听说,呵呵.........
|
|
| 第5楼 0401 | 发表于 2006-10-21 03:47 |
| 中级用户 发帖 88 积分 435 | |
|
8好意思,小弟才疏学浅,GOTO能带参数只是我的理解,可能我理解的有点出入,但至少GOTO:TEST %1 %2是可行的,至于带不带冒号又有何关系.有心帮忙的话回答下我的问题吧.
再次谢谢 qwe1234567 |
|
| 第6楼 不得不爱 | 发表于 2006-10-21 04:25 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
GOTO 是不带参数的,带不带冒号都一样
|
|
| 第7楼 0401 | 发表于 2006-10-21 23:33 |
| 中级用户 发帖 88 积分 435 | |
|
我错了~~~确实是不带参数,理解错了,因为老大的这句GOTO:TEST %1 %2我才这么认为的,现在试试没有%1 %2一样行.但是有的环境下我想使用CALL呀,可是还没人帮我解答这个疑问,自己回去再想想先~
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |