[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
首先告诉我问题得到解决了不,没解决我好修改代码。。。
***共同提高***

TOP

1、split.exe工具在哪下载呢?http://bbs.bathome.net/viewthrea ... ighlight=%2Bbatcher下载下来的工具没法用。
2、刚才测试了个文本,发现无法去行去空格了,真的是一个头二个大啊!
3、另再请教一款好用些的记事本工具。
不会上传附件,只好发个样本:
  2010华军软件园优秀软件名单新鲜出炉(都是装机必备的软件)
  华军资讯消息 由华军软件园主办的2010年我最喜爱的软件评选活动自2010年12月1日上线以来共计收到了网友超过160万次的投票,得到了广大网友和软件厂商的大力支持。
   华军软件园秉着公正、公平、公开的原则,经过编辑和技术的数据统计,评出了二十七款优秀软件,以下是获得2010年华军软件园优秀软件奖的软件名单(注:软件排名不分前后)。。。。。。。。
  

TOP

就在这个链接中你找到split.exe下载就是的啊,放在当前目录下就可以了,我也是刚从这里下的。。。
***共同提高***

TOP

本帖最后由 zm900612 于 2011-4-27 23:20 编辑

11# batman


既然用了外部命令,那还不如用sed呢...
  1. sed -i "s/[\x0-\x7f\x8080-\xffff]\{100\}/&\n/g" 1.txt
复制代码

TOP

终于搞定了,我下载了个Notepad++编辑器,XP自带的编辑器不知为何就是不能生成。真的万分感谢batman!

TOP

谢谢batman大侠这么晚了还一直解答我这菜鸟的问题!

TOP

19# zm900612
你测试了sed能处理楼主这样的问题?
***共同提高***

TOP

22# batman
不是,还是用您提供的链接下载的split.exe,并另下了个Notepad++编辑器,测试成功!

TOP

22# batman


上次见过别人写。但是我不明白为什么我写的那段时灵时不灵...

TOP

刚才没细看,分割出来的文章很乱,有的文本中有N个“指定字符”连在一起,有的文本只有一个“指定字符”,还是没解决啊,杯具了。。。。。

TOP

测试了很长时间,时好时坏(不灵的时候居多!)
又在网上搜索了相似软件,到目前为止,我找到一个笨办法:
1、先用TXT文本切割器将一个大文本按一定的等分切割成成N份小文本。(其中有小部分文件头部或尾部有乱码现象,只能手工来修改了,无语)
2、再用批处理将每个小文本结尾处加上指定字符串。(这一步正常)
做到这一步,本文件夹中有860个小文件(每个文件不超过10K),我的目标是按每十个文本文件合并成一个,860个小文件合并成86个文件。在半个小时内,我手工合并了12个(120个小文件),实在受不了了,睡觉啦!
求batman大侠将最后一步写出个批处理行不?
拜谢!

TOP

本帖最后由 batman 于 2011-4-28 20:43 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /r %%a in (*.txt) do (
  3.      set /a n+=1
  4.      if !n! leq 10 set "str=!str!%%~nxa+"
  5.      if !n! equ 10 set /a m+=1,n=0&copy /y !str:~,-1! fg_!m!.tm&set "str="
  6. )
  7. if defined str set /a m+=1&copy /y !str:~,-1! fg_!m!.tm
  8. del /q *.txt&ren *.tm *.txt         
复制代码
***共同提高***

TOP

本来还想修改文本分割的代码,但既然楼主已经走到这一步了,就算了。。。
***共同提高***

TOP

27# batman
亲爱的batman,别介啊,有一步能成功的方法谁还用分几步走啊,请再修改分割代码行不?

TOP

本帖最后由 batman 于 2011-4-28 20:49 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. rd /s /q temp fgfile 2>nul&md temp fgfile
  3. split -b 8000 a.txt temp\
  4. set /a b=0
  5. for /r temp %%a in (*) do (
  6.     set /a "a=(%%~za+b)/200","b=(%%~za+b)%%200"
  7.     for /f "delims=" %%b in (%%a) do (
  8.         set "str=!str!%%b"
  9.         for /l %%b in (1,1,!a!) do (
  10.             set /a m+=1
  11.             if !m! leq 9 set "c=!c!!str:~,100!指定字符"
  12.             if !m! equ 10 set /a n+=1,m=0&echo !c!!str:~,100!指定字符>fgfile\fg_!n!.txt&set "c="
  13.             set "str=!str:~100!"
  14.         )
  15.     )
  16. )
  17. if "!c!" neq "" set /a n+=1&echo !c!>fgfile\fg_!n!.txt
  18. rd /s /q temp&start fgfile
复制代码
--------------------------------------------------------------------------
郁闷,转成unicode根本实现不了读取,8000改成16000也会出错。。。
***共同提高***

TOP

返回列表