![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 15:41 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如此截取变量为什么会出错 |
| 可打印版本 885 / 5 |
| 第1楼 hnlcc | 发表于 2007-07-12 23:38 |
| 新手上路 发帖 5 积分 12 | |
|
如此截取变量为什么会出错 请问这个要如何实现?本意是想生成一个个的等腰三角形(竖着的),但是在delay2中对var进行截取的时候老是显示不出来,我刚学习批处理,请高手指教 一下,这个问题困惑了很久
以下就是代码了 ================================================== @echo off echo =================================== echo time color echo =================================== set /a i=1 set var= :delay1 set var=%var%★ echo %var% set /a i+=1 ping /n 1 127.0>nul if %i%==20 (goto delay2) else goto delay1 :delay2 set var=%%var:~1,-%i%% @echo %var% set /a i-=1 ping /n 1 127.0>nul if %i%==1 (set var=&goto delay1) else goto delay2 :end pause ================================================ [ Last edited by bjsh on 2007-7-31 at 12:44 AM ] |
|
| 第2楼 bjsh | 发表于 2007-07-13 00:22 |
| 银牌会员 发帖 621 积分 2,000 | |
改为
[ Last edited by bjsh on 2007-7-13 at 12:23 AM ] |
|
| 第3楼 hnlcc | 发表于 2007-07-13 22:43 |
| 新手上路 发帖 5 积分 12 | |
|
谢谢班班,这个是可以的,我还想问一下当我在做下面这个
============================== set /a i=1 set var=abcdefg :delay set /a i+=1 set var=%var:~1,%i%% echo var if i == 5 (goto :delay) else goto eof ============================== 做这个的时候老是会出错误,不是打出b bc bcd .....这样的序列,而是直接把%var:~1,%i%%这样的字符串打出来了,请问一下我要的功能如何实现呢?就是在i++的时候对var进行截取,我看过别人的程序,对%这个的用法还是不太清楚,高手给解释一下,谢谢 |
|
| 第4楼 bjsh | 发表于 2007-07-14 00:53 |
| 银牌会员 发帖 621 积分 2,000 | |
|
你上面的的 程序除了 在逻辑上有错误;
语法上也有几处错误; 这个 echo var 应该为 echo %var% 吧; if i == 5 (goto :delay) else goto eof 这句在语法上 goto :eof ; 逻辑上 运行到此处直接 退出了 并不会 goto delay(一般goto到标签; 不在标签前面加冒号除了特殊的 eof; call 标签是加冒号的;) ================================ set var=%var:~1,%i%% 需要用 call set var=%%var:~1,%i%%% 可以参考下面的帖子 http://www.cn-dos.net/forum/viewthread.php?tid=28552&fpage=1&highlight=%2Bbjsh =================================== 或许得到的结果依然有一部分不是你想要的; 你需要好好理解 变量字符的截取; 看看 set /? 翻翻以前的帖子; |
|
| 第5楼 hnlcc | 发表于 2007-07-14 13:49 |
| 新手上路 发帖 5 积分 12 | |
|
班班说的太对了,呵呵,上面那些逻辑和语法错误是意外,意外呵呵。谢谢啦~~
|
|
| 第6楼 luckydjc | 发表于 2007-07-25 20:11 |
| 新手上路 发帖 2 积分 4 | |
|
努力学习中....
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |