![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 04:53 |
共 47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 相当菜的一个问题! |
| 可打印版本 886 / 14 |
| 第1楼 hulongzhuo | 发表于 2007-04-19 08:03 |
| 中级用户 发帖 135 积分 294 | |
|
相当菜的一个问题! a.bat
.. set ? = 1 if "%?%" == "1" goto exit .. :exit b.bat b.bat .. set s = %?% 或者是 set s = "%?%" echo "%s%" 结果显示怎么是 "" 空的呢? 赋的变量值跑哪里去了? 是不是有语法错误? 我刚学,太菜了,别见笑~~ [ Last edited by hulongzhuo on 2007-4-18 at 07:12 PM ] |
|
| 第2楼 hulongzhuo | 发表于 2007-04-19 08:08 |
| 中级用户 发帖 135 积分 294 | |
|
HLPE ME !!
|
|
| 第3楼 hulongzhuo | 发表于 2007-04-19 08:14 |
| 中级用户 发帖 135 积分 294 | |
|
郁闷中.......
|
|
| 第4楼 lianjiang2004 | 发表于 2007-04-19 08:17 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
在里面加上几个pause,你就知道哪一步出错了。
|
|
| 第5楼 hulongzhuo | 发表于 2007-04-19 08:26 |
| 中级用户 发帖 135 积分 294 | |
|
刚才试了,我就是用 S = 1
然后ECHO "%S%" 也是空的, 奇怪了?? |
|
| 第6楼 hulongzhuo | 发表于 2007-04-19 08:31 |
| 中级用户 发帖 135 积分 294 | |
|
是不是没有定义啊?
DIM S S = 1 "%S%" 这样行吗? 好像不需要定义的呀, |
|
| 第7楼 htysm | 发表于 2007-04-19 08:35 |
| 高级用户 发帖 415 积分 866 | |
|
@echo off
set num=1 echo %num% if %num% == 1 echo ok pause 附件 未命名.JPG (5.21 KiB) |
|
| 第8楼 hulongzhuo | 发表于 2007-04-19 08:39 |
| 中级用户 发帖 135 积分 294 | |
|
感谢楼上热心的兄弟!!
还抓了图给我! 真不知道该怎么谢了.. 就是太菜,我语法太模糊了,我会尽快努力学习地. |
|
| 第9楼 zhoushijay | 发表于 2007-04-19 08:42 |
| 高级用户 发帖 375 积分 845 | |
|
a.bat中的环境变量没有传递到b.bat
|
|
| 第10楼 hulongzhuo | 发表于 2007-04-19 08:50 |
| 中级用户 发帖 135 积分 294 | |
|
是的,就是没得到环镜变量,是7楼的兄弟提醒了我,
原来 "SET S=1" 中间是没有空格的,要不然死活也得不到值, 这些东西真的难以注意到, 我倒是认为有空格跟没有空格有什么区别呢?? |
|
| 第11楼 wudixin96 | 发表于 2007-04-19 09:01 |
| 银牌会员 发帖 931 积分 1,928 | |
|
a.bat
b.bat 变量赋值时别添加多余空格。 |
|
| 第12楼 flyinspace | 发表于 2007-04-19 09:18 |
| 银牌会员 发帖 517 积分 1,206 | |
|
噢?怎么不用call b。bat
|
|
| 第13楼 qieagle | 发表于 2007-04-19 11:54 |
| 初级用户 发帖 8 积分 20 | |
|
我也想知道!
|
|
| 第14楼 tongwandou | 发表于 2007-04-19 12:05 |
| 初级用户 发帖 50 积分 112 | |
|
我个人认为这个问题是由批处理程序中的可变参数引起的.楼主在b.bat中的set s = %?%句调用a.bat文件传递的参数,但在a.bat中的:exit
b.bat中确没能把需要的参数给出,就错在这了! 应该改成这样: 在XPsp2下测试可以正确传递! |
|
| 第15楼 tongwandou | 发表于 2007-04-19 12:09 |
| 初级用户 发帖 50 积分 112 | |
|
另外还要注意的是在2.bat中的set s=%1,这句中的百分号后跟的是1,2,3,的1,而不是L.因为在BAT程序中只能有%0~%9这10个可变参数(当然要是用了SHIFT命令就另当别论了!).可变参数和变量是不同的概念!我也是现学现卖,望高手批评指正!!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |