标题: [文本处理] [已解决]批处理如何按指定行数将一个文本分割成多个小文本? [打印本页]
作者: lijinpengying 时间: 2013-4-25 17:17 标题: [已解决]批处理如何按指定行数将一个文本分割成多个小文本?
本帖最后由 pcl_test 于 2016-10-12 15:21 编辑
因为工作的原因,以前酷爱的bat批处理已经被我忘得差不多了。今天突然想用它来做一件事,竟然发现无从下手了!所以来向各位大大救助!
是这样子的,我有一个文本,里面用一百多行的网址,我用批处理一下子打开的话会卡死,所以我相把里面的网址每5行提取成一个文本,方便我批量打开它们。
例:
a.txt内容格式如下:
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
……
……
……
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
http://www.baidu.com?&123dioc.com?/
等一百多行,我相每五行就提成一个文本保存,希望各位指点一下!
作者: CrLf 时间: 2013-4-25 17:29
本帖最后由 CrLf 于 2013-4-25 18:45 编辑
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (网址.txt) do (
- set /a n=m/5,m+=1
- (
- setlocal disabledelayedexpansion
- echo %%a
- endlocal
- )>>网址_!n!.txt
- )
复制代码
作者: lijinpengying 时间: 2013-4-25 17:37
回复 2# CrLf
代码不行啊?我刚才验证了下,确实达不到我想要的效果,运行代码,结果只出来两个文本,一个文本里面只有两个网址,一个里面有非常多的
作者: apang 时间: 2013-4-25 17:44
- @echo off
- set /a n=-1
- for /f "delims=" %%a in (a.txt) do (
- set /a n+=1,Name=n/5 + 1
- set "str=%%a"
- setlocal enabledelayedexpansion
- echo,!str!>>"a_!Name!.txt"
- endlocal
- )
- pause
复制代码
作者: lijinpengying 时间: 2013-4-25 18:41
回复 4# apang
谢谢,成功了!但是,大侠,可不可以给我讲解下呢?
作者: CrLf 时间: 2013-4-25 18:45
已修改,但我绕弯了,思路没转过来
作者: lijinpengying 时间: 2013-4-25 18:48
回复 6# CrLf
谢谢,我终于看懂那个代码了,原来换个思路竟然这么简单,我真是笨啊!呵呵!
作者: lijinpengying 时间: 2013-4-25 18:49
回复 4# apang
谢谢,原来突破点不是在前面的分类,而是在后面生成文本上,哈哈,真有意思
作者: xxpinqz 时间: 2013-4-25 21:23
回复 2#[/url] CrLf - setlocal disabledelayedexpansion
-
- echo %%a
-
- endlocal
复制代码
这个有什么特殊作用吗?
作者: lxh623 时间: 2018-11-7 08:27
EmEditor有这个功能。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |