中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 07:58
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 【求助】关于读取TXT文件,生成一个新的TXT文件的问题
可打印版本  773 / 6
第1楼 sndy 发表于 2009-02-14 04:02
新手上路 发帖 8 积分 11
【求助】关于读取TXT文件,生成一个新的TXT文件的问题
小生菜菜,近来整理文件实在头痛,想偷懒做个批处理或VBS来完成,看了相关文章,可惜才疏学浅,怎么都不大明白,实无办法上来求救!望能有点现成!

读取TXT文件,无分割标示的情况下,每50行生成一个新的TXT文件,其文件名最好以该文件的第一行的里面的字命名。
例如文件a.txt内容如下
11111111 aaaaaaa
22222222 bbbbb
..........
50000000 aaaaaaa1
.......
10000000 1112222
........
运行批处理后得到文件名为11111111.txt 50000000.txt 10000000.txt
第2楼 netbenton 发表于 2009-02-14 04:48
银牌会员 发帖 752 积分 1,916 来自 广西
set n=0
for /f "tokens=1*" %%a in (a.txt) do (
call :sub %1 %2
)
goto :eof
:sub
if %n%==51 set fn=&set n=0
set/a n+=1
if not defined fn set fn=%1
echo %*>>%fn%.txt
goto :eof
第3楼 sndy 发表于 2009-02-14 05:41
新手上路 发帖 8 积分 11
非常感谢。。。试下先、!
第4楼 sndy 发表于 2009-02-14 05:53
新手上路 发帖 8 积分 11
好像不行!!
第5楼 netbenton 发表于 2009-02-14 09:20
银牌会员 发帖 752 积分 1,916 来自 广西
不好意思,这样可以了
echo off
set n=0
for /f "tokens=1*" %%a in (a.txt) do (
call :sub %%a %%b
)
pause
goto :eof
:sub
if %n%==51 set fn=&set n=0
set/a n+=1
if not defined fn set fn=%1
echo %*>>%fn%.txt
goto :eof
第6楼 sndy 发表于 2009-02-14 10:59
新手上路 发帖 8 积分 11
谢谢!!可以了。。因为是50行,所以
if %n%==50 set fn=&set n=0
第7楼 HAT 发表于 2009-02-14 12:21
版主 发帖 5,017 积分 9,023
Re 6楼
如果有人帮你解决了问题,建议进行如下操作:

1、给正确回答问题者加分以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。

2、修改帖子标题,注明:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023