![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-26 01:26 |
共 47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结][求助]-如何从一文本的最后行向前读取所有行 |
| 可打印版本 4,804 / 18 |
| 第1楼 h2o | 发表于 2006-10-16 05:55 |
| 初级用户 发帖 18 积分 44 | |
|
[已结][求助]-如何从一文本的最后行向前读取所有行 如何从一文本的最后行向前读取所有行
================ re.txt: -------- 123 456 789 -------- ================ 我想让批处理读取的时候顺序是: 789 456 123 请问该如何实现呢?我新学批处理的 大家不要说我懒 这个问题我已经自己研究了一周了 可是系统的帮助里的内容似乎是有点难理解 许是我悟性不高 希望能得到论坛的朋友们指点 先行谢过了 ================= ================= 在热心朋友的帮助下 解决了问题 长了知识 谢谢大家 希望以后也有机会帮助大家 ![]() [ Last edited by h2o on 2006-10-16 at 12:37 ] |
|
| 第2楼 h2o | 发表于 2006-10-16 06:18 |
| 初级用户 发帖 18 积分 44 | |
|
哦 还有一个也是不大懂的
bat 如何实现生成一个 100-200 位数之间的一个 "随机" 字串( 字符是 0-9 A-F ) 比如 4C3B28A5…… ( n 个字符,n=[100,200] ) 迷雾里 盼指引... |
|
| 第3楼 lxmxn | 发表于 2006-10-16 06:31 |
| 版主 发帖 4,938 积分 11,386 | |
|
难啊,我也不会,希望有高手来解决此问题。我也顺便学习学习 :) |
|
| 第4楼 redtek | 发表于 2006-10-16 08:59 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
读入 re.txt 要倒序的文件,生成 rr.txt 目标文件。
没加入错误控置,仅适用于你上面的那些数字。 未考虑环境变量的溢出,只考虑你上面的几行数值或再多一点。 在DOS提示符下,如果键入 SET debug=on 则执行这个批处理的时候,就相当于调试状态,每一步过程你都可以看到, 而无需再修改这个文件的 echo on/off 的状态了。 后又生成了1万行的随机数文件做为测试,没有溢出,运行正常:) 但是,处理1万行的倒序约用时间为:39-40秒左右。 测试环境:Microsoft Windows XP 主机速度:CPU 1.73GHz [ Last edited by redtek on 2006-10-16 at 09:30 ] |
|
| 第5楼 3742668 | 发表于 2006-10-16 08:59 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
Re h2o:
如果有多个疑问,建议在搜索没有类似主题的情况下,就每个疑问单独发一贴,这样便于搜索. 关于顶楼的问题: 注意: 1.此方法将受cmd变量个数的局限,如果处理太大的文件可能出现错误.如果用for "skip..." (findstr /n .)的方法则效率会非常低下.所以如果文件比较大的话可以尝试用vbs来实现. 2.为了代码的简洁性以及不忽略空白行,在每一行末尾会多一个空格出来.如果删除最后那个for语句中的("!%%x! ")中的空格,则不会在每行末尾加空格,同时也会自动删除文件中的空白行。 3.仿佛记得论坛就这个主题有过类似讨论,建议搜索一下。 关于生成随机字符的问题: 为了便于理解,采用goto循环的结构. |
|
| 第6楼 pengfei | 发表于 2006-10-16 09:00 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
关于倒序显示文件内容, 请测试...
[ Last edited by pengfei on 2006-10-16 at 09:17 ] |
|
| 第7楼 pengfei | 发表于 2006-10-16 09:12 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
哈哈~ 4楼兄弟代码强.
3742668版主的生成随机数很爽... [ Last edited by pengfei on 2006-10-16 at 09:43 ] |
|
| 第8楼 3742668 | 发表于 2006-10-16 09:19 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
6F的脚本处理起包含空行的内容时会有教大的Bug,如果专门为空行和特殊字符去进行处理的话那么效率会较低.
|
|
| 第9楼 pengfei | 发表于 2006-10-16 09:27 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
是啊, 还是4楼的厉害.
|
|
| 第10楼 pengfei | 发表于 2006-10-16 09:48 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
原来4楼采用递增的变量来存储每一行内容, 再通过递减达到重新排序, 厉害...
|
|
| 第11楼 h2o | 发表于 2006-10-16 10:04 |
| 初级用户 发帖 18 积分 44 | |
|
to lxmxn 朋友,
谢谢你的关注 ^-^ ------------------------------- to redtek 朋友, 谢谢 redtek,你帮忙写的代码刚测试过了 实现了 谢谢你 --------------------------------- to 3742668 版主 朋友, Re h2o: “如果有多个疑问,建议在搜索没有类似主题的情况下,就每个疑问单独发一贴,这样便于搜索.” 呵呵 好抱歉啊 我没留意这个 下次一定改正, 这个我是在论坛里搜索"倒序" 还有 "顺序" 不过,运气都不太好 :( 你帮忙写的 倒序 和 随机 代码都测试过了 实现了 谢谢你 --------------------------------- to pengfei 朋友, 谢谢 redtek,你帮忙写的代码刚测试过了 实现了 谢谢你 --------------------------------- ===================================================================== 天啊!我太感动了 困扰了几天的问题,现在终于… 我会慢慢研究的 争取以后不给大家添麻烦 最后 还要谢谢大家 谢谢关注的朋友 谢谢楼上所有热心帮助的朋友 占用了你们的时间 这边给你们作揖了 |
|
| 第12楼 namejm | 发表于 2006-10-16 11:33 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by 3742668 at 2006-10-16 08:59: 每行末尾的空格是可以删掉的,并且不会影响空白行的显示,做法是:把最后一个 do 的语句改为 set var=%%y&&echo. !var:~0,-2! 即可。 |
|
| 第13楼 不得不爱 | 发表于 2006-10-16 21:35 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
我也来个随机数:
|
|
| 第14楼 pengfei | 发表于 2006-10-16 21:41 |
| 银牌会员 发帖 485 积分 1,218 来自 湖南.娄底 | |
|
除了随机数产生乱序数字外, 还有其他办法吗?
|
|
| 第15楼 不得不爱 | 发表于 2006-10-16 21:52 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
如果不用随机数产生乱序数字那就这样产生固定规律的数!
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |