中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 08:59
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]逐行读取记事本A,把已读取的行删除,并保存为B
可打印版本  802 / 3
第1楼 jajah 发表于 2008-11-12 10:52
新手上路 发帖 6 积分 10
[已结]逐行读取记事本A,把已读取的行删除,并保存为B
求一个批处理脚本,需要实现下面的功能,请高手不吝赐教哦,谢谢大家。
在与批处理同一目录下放置A.txt,内容为分行的一些序列,数量约1万个。
如:
d45610ad
44cdfjad
4410.874
78910a4d
.......

现在想逐行读取其内容,把读取到的内容输出为变量%str%,同时,把已读取的行从A.txt中删除,并将已读取的行输出为B.txt。
在这个过程中,每运行一次脚本,A.txt就减少一行,B.txt就增加一行。

DOS命令我实在很菜,但我觉得使用DOS执行这样的功能应该比较现实。
再次谢谢大家!:P

[ Last edited by HAT on 2008-11-12 at 21:36 ]
第2楼 tireless 发表于 2008-11-12 13:00
银牌会员 发帖 1,122 积分 2,025
第3楼 jajah 发表于 2008-11-12 21:34
新手上路 发帖 6 积分 10
非常感谢tireless提供的脚本,测试成功了!
第4楼 jajah 发表于 2008-11-12 21:47
新手上路 发帖 6 积分 10
再问一下,如何使用random命令产生出N个不会重复的序列呢?
我产生10个随机序列,重复的机率很小,但如果产生上万个同格式的序列则会有1%左右的号是重复的。请问如何避免呢?
@echo off&Setlocal Enabledelayedexpansion
set "var=0123456789abcdef"
for /l %%i in (1 1 8) do (
set /a "n=!random!%%16"
call set "str=!str!%%var:~!n!,1%%"
if %%i equ 4 set "str=!str!-"
)
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023