[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何按指定行数将一个文本分割成多个小文本?

本帖最后由 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 18:45 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (网址.txt) do (
  3.    set /a n=m/5,m+=1
  4.    (
  5.       setlocal disabledelayedexpansion
  6.       echo %%a
  7.       endlocal
  8.    )>>网址_!n!.txt
  9. )
复制代码

TOP

回复 2# CrLf
代码不行啊?我刚才验证了下,确实达不到我想要的效果,运行代码,结果只出来两个文本,一个文本里面只有两个网址,一个里面有非常多的

TOP

  1. @echo off
  2. set /a n=-1
  3. for /f "delims=" %%a in (a.txt) do (
  4.    set /a n+=1,Name=n/5 + 1
  5.    set "str=%%a"
  6.    setlocal enabledelayedexpansion
  7.    echo,!str!>>"a_!Name!.txt"
  8.    endlocal
  9. )
  10. pause
复制代码
1

评分人数

    • CrLf: 我绕弯了...技术 + 1

TOP

回复 4# apang


    谢谢,成功了!但是,大侠,可不可以给我讲解下呢?

TOP

已修改,但我绕弯了,思路没转过来

TOP

回复 6# CrLf


    谢谢,我终于看懂那个代码了,原来换个思路竟然这么简单,我真是笨啊!呵呵!

TOP

回复 4# apang


    谢谢,原来突破点不是在前面的分类,而是在后面生成文本上,哈哈,真有意思

TOP

回复 2#[/url] CrLf
  1.       setlocal disabledelayedexpansion
  2.       echo %%a
  3.       endlocal
复制代码
这个有什么特殊作用吗?

TOP

EmEditor有这个功能。

TOP

返回列表