![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 01:24 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]逐行读词 |
| 可打印版本 813 / 6 |
| 第1楼 bat-zw | 发表于 2008-06-20 13:33 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
[原创]逐行读词 |
|
| 第2楼 hackerscans | 发表于 2008-06-20 14:11 |
| 初级用户 发帖 51 积分 73 | |
|
经典的就是经典,高手就是高手
|
|
| 第3楼 wl00560 | 发表于 2008-06-20 14:22 |
| 银牌会员 发帖 709 积分 1,384 | |
|
厉害,学习了……
|
|
| 第4楼 qingfushuan | 发表于 2008-06-20 15:13 |
| 高级用户 发帖 327 积分 502 | |
|
执行不了 执行不了,肯定是小毛病哈,学习思路了
[ Last edited by qingfushuan on 2008-6-20 at 03:14 PM ] |
|
| 第5楼 qingfushuan | 发表于 2008-06-20 15:39 |
| 高级用户 发帖 327 积分 502 | |
|
这样就可以执行了,我有点小问题请教 @echo off&mode con cols=40 lines=26&color 1f
:: 沁园春.雪-毛泽东 :: 北国风光,千里冰封,万里雪飘。 :: 望长城内外,惟余莽莽; :: 大河上下,顿失滔滔。 :: 山舞银蛇,原驰蜡象,欲与天公试比高。 :: 须晴日,看红装素裹,分外妖娆。 :: 江山如此多娇,引无数英雄竞折腰。 :: 惜秦皇汉武,略输文采; :: 唐宗宋祖,稍逊风骚。 :: 一代天骄,成吉思汗,只识弯弓射大雕。 :: 俱往矣,数风流人物,还看今朝。 title 逐字读词 :begin echo.&echo. set /a n+=1,m=-1 for /f "skip=%n% delims=:: " %%i in ('type %0') do set str=%%i&goto lp :lp set /a m+=1 call,set var=%%str:~%m%,1%% call,set /p=%var%<nul if defined var (for /l %%i in (1,1,4000) do echo.>nul&goto lp) if %n% lss 11 goto begin pause>nul 请指导一下下面的内容 call,set var=%%str:~%m%,1%% call,set /p=%var%<nul if defined var (for /l %%i in (1,1,4000) do echo.>nul&goto lp) if %n% lss 11 goto begin |
|
| 第6楼 bat-zw | 发表于 2008-06-20 15:54 |
| 金牌会员 发帖 1,276 积分 3,105 | |
call,set var=%%str:~%m%,1%% call,set var=%%str:~%m%,1%%,这是逐行逐字符截取命令,%str%是行的变量,而%m%是从0一直向上递加的(每次加1),这样就实行了对词的每行的逐字截取并赋值给变量%var%; call,set /p=%var%<nul,echo 是换行输出命令,而set /p是不换行输出命令,当一行中还在截取字符时,新的字符总是紧跟输出的最后一个字符后被输出; if defined var (for /l %%i in (1,1,4000) do echo.>nul&goto lp)这句的意思是如果存在不为空的变量%var%刚进行对程序延迟设定时间后再继续运行; if %n% lss 11 goto begin,如果变量n(也是每次递加1)的值小于11(词有11行),则返回begin标签处进行下一轮循环。 |
|
| 第7楼 abcd | 发表于 2008-06-20 20:53 |
| 银牌会员 发帖 739 积分 1,436 | |
|
完全没一点新鲜内容。就不要写什么原创了。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |