找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31482|回复: 7

[文本处理] [已解决]批处理如何根据固定行内容分割大文本?

[复制链接]
发表于 2014-6-18 10:16:31 | 显示全部楼层 |阅读模式
如何根据固定的行对大文本进行分割?

要求:
1. 从固定行//OBJECT_DATA:0xFFFFFFFFF,10,3,7,5,9开始,到下一次遇到该行之前,之间所有内容(空行,符号之类的)保持不动。
2. 分割后的小文本命名为:”原名称_从1逐个递加“。

格式如附件文本,行数为几十万行,在论坛里搜了一个类似的脚本,修改了好久,达不到想要的结果,请各位帮忙。。。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-6-19 01:08:19 | 显示全部楼层
  1. @set @n=0;/* & echo off
  2. md Test 2>nul
  3. cscript -nologo -e:jscript "%~0" <1.txt
  4. pause & exit/b & rem */
  5. fso = new ActiveXObject("Scripting.FileSystemObject");
  6. strKey = "//OBJECT_DATA:0xFFFFFFFFF,10,3,7,5,9"
  7. ar = WScript.StdIn.ReadAll().split(strKey);
  8. for (i=1; i<ar.length; i++) {
  9.     fso.CreateTextFile("Test\\1_" + i + ".txt", true).Write(strKey + ar[i])
  10. }
复制代码

评分

参与人数 1技术 +1 收起 理由
xudaweb + 1 赞~~~

查看全部评分

 楼主| 发表于 2014-6-20 08:38:56 | 显示全部楼层
回复 2# apang

这段代码我执行不了,提示找不到文件。
发表于 2014-6-20 09:08:13 | 显示全部楼层
回复 3# xudaweb


    代码保存为test.bat,与待分割的文件 1.txt 放在一起,比如都放在桌面上,双击test.bat
 楼主| 发表于 2014-6-20 10:04:48 | 显示全部楼层
回复 4# apang

可以了,感觉VBS比批处理效率高好多啊。。。
发表于 2014-6-20 12:08:05 | 显示全部楼层
你有powershell 3.0,或者愿意安装ps3.0么?
有或愿意的话,我也可以为你写个解决你问题的ps脚本。

评分

参与人数 1技术 +1 收起 理由
xudaweb + 1 热心肠

查看全部评分

 楼主| 发表于 2014-6-24 10:25:20 | 显示全部楼层
回复 6# PowerShell

谢谢,问题已经解决了,只懂一点点的批处理,好囧啊。。。
公司的电脑,没有权限安装,还是谢谢你。
发表于 2014-6-24 11:11:36 | 显示全部楼层
回复 7# xudaweb


什么系统?Win7自带PowerShell的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 10:59 , Processed in 0.021499 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表