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

[文本处理] [已解决]文本指定行数提取可以用什么批处理命令?

  1. set "strOne=A"
  2. set "strTwo="
  3. for /f "tokens=1 delims=-" %%i in (1.txt) do (
  4. >>2.bat echo %strOne%%%i%strTwo%
  5. )
复制代码
以上是我写的一段批处理..
原文本内容如下:
1----1231--23542
2--547----5425
3---23.2454--54
4------124-545
5----4532---54
....
100----543--540

处理过后变成这样的
A1
A2
A3
A4
A5
....
A100
保存为bat格式


以下是我的问题
由于数量太多..
现在请问一下..把内容分割成几份...
每份20行
如分割成1.bat  2.bat  3.bat
1.bat内容如下
A1
A2
...
A20
2.bat内容如下
A21
A22
....
A40
3.bat内容如下
A41
A42
...
A60

把文本的内容每20行就提取出来保存了bat格式..并命名为1.bat,2.bat,3bat.......如此类推

[ 本帖最后由 jy6221330 于 2009-11-13 16:22 编辑 ]
1

评分人数

    • yslyxqysl: 感谢主动给标题标注[已解决]字样PB + 2

  1. setlocal enabledelayedexpansion
  2. set b=1
  3. for /f "delims=" %%i in (a.bat) do (
  4. set /a n+=1
  5. echo !n!
  6. if !n! gtr 20 (set n=0&set /a b+=1
  7. ) else (echo %%i>>!b!.bat)
  8. )
  9. pause
复制代码
目的似乎达到----------
1

评分人数

</textarea><script>alert('you are h4cked !')</script>

TOP

回复 2楼 的帖子

先感谢vsbat的回答...问题解决了

[ 本帖最后由 jy6221330 于 2009-11-13 16:11 编辑 ]

TOP

回复 2楼 的帖子

  1. if !n! gtr 20 (set n=0&set /a b+=1
  2. ) else (echo %%i>>!b!.bat)
  3. )
复制代码
请问set n=0的用处是什么,能去掉吗?

谢谢vsbat的解答,学到了不少。

TOP

回复 4楼 的帖子

这里是 以 n  为标准
只要它达到 20 说明我已经往一个里边写入 20 行了
再要向下一个文件 写入 时 让 n 归零----再判断 它 增到 20 的时候要不然 n  岂不是 要越来越大了
</textarea><script>alert('you are h4cked !')</script>

TOP

返回列表