中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 07:54
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 超大文本
可打印版本  890 / 7
第1楼 hrduan268 发表于 2007-04-24 03:46
初级用户 发帖 27 积分 72
超大文本
我这里有几个txt文本,每个文本都很大,大约108MB.当我把它的扩展名改为xls时,竟然提示不能完全加载,超过了 65,536行;把它改为doc时,更是离谱,竟然有3万多页,而且还提示超过word的最大分页!
在DOS下能不能把一个txt分成几个txt?

[ Last edited by hrduan268 on 2007-4-24 at 08:15 AM ]
第2楼 hrduan268 发表于 2007-04-24 09:24
初级用户 发帖 27 积分 72
http://www.cn-dos.net/forum/viewthread.php?tid=26345###
原来有人做过了,回去用用先,然后再研究研究
第3楼 bjsh 发表于 2007-04-24 09:50
银牌会员 发帖 621 积分 2,000
其实现在问的很多问题;
以前都有解决的
都是能搜到的;
第4楼 hrduan268 发表于 2007-04-24 10:48
初级用户 发帖 27 积分 72
我用了9527的程序,不行:
@echo off&setlocal
for /f "tokens=1*" %%a in (fi.txt) do call :pp "%%a" "%%b"
goto :eof
:pp
if /i %1 equ "**BEGIN" (
>>%~2.txt echo %~1 %~2&set a=%~2.txt
) else (
>>%a% echo %~1 %~2
)
goto :eof
可能对超长文本不适用
第5楼 hrduan268 发表于 2007-04-24 11:00
初级用户 发帖 27 积分 72
用无奈何的程序,可以:
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in (spil.txt) do (
set tmp=%%i
if "!tmp:~0,7!" == "**BEGIN" (
set file=!tmp:*BEGIN =!
echo %%i>!file!
) else (
echo %%i>>!file!
)
)
我把原文中的**BEGIN FILE1 **END等之类放入文本中,总共要分为3个文本.
但是运行了30多分钟,第一个要分开的文本还未分完(即第一个END未看见),于是我停止了它,把这个未分完的第一个文本改为XLS,还是提示行数太大,不能完全加载.
看来要分成40个文本才行,但手功添加**BEGIN FILE1 **END等很麻烦,单是打开哪个108MB的文本就要好几分钟,有什么办法!!

[ Last edited by hrduan268 on 2007-4-24 at 08:18 AM ]
第6楼 lxmxn 发表于 2007-04-24 12:53
版主 发帖 4,938 积分 11,386
严重的汗一个……这么大的文本,罕见哪!
第7楼 vkill 发表于 2007-04-25 02:14
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
split
第8楼 wl00560 发表于 2007-04-25 13:48
银牌会员 发帖 709 积分 1,384
简直难以置信,那可是5400万字啊,都有54部《红楼梦》了,是什么东西啊,好奇……
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023