Board logo

标题: [文本处理] 请教,读取指定行到其他文本 [打印本页]

作者: daocaor    时间: 2008-11-9 14:13     标题: 请教,读取指定行到其他文本

如ip.txt
127.0.0.1
127.0.0.2
127.0.0.3
........

如何把127.0.0.1保存到1.txt   127.0.0.2保存到2.txt  127.0.0.3保存到3.txt
就是一行保存为一个文本

加个问题,
如果我只要读第2行,并且保存到txt

[ 本帖最后由 daocaor 于 2008-11-9 15:24 编辑 ]
作者: batman    时间: 2008-11-9 14:16

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.      set /a n+=1
  4.      echo %%i>!n!.txt
  5. )
复制代码

作者: daocaor    时间: 2008-11-9 14:23

这样结果是在读取了最后一行
作者: daocaor    时间: 2008-11-9 14:27

大哥,还是不行,只生成了空文本,没内容
作者: daocaor    时间: 2008-11-9 14:30

可以了,谢谢了
作者: namejm    时间: 2008-11-9 14:35

  请叫==请教?标题都如此随意,楼主也未免太粗心大意了。
作者: daocaor    时间: 2008-11-9 14:41

如果是10行分一个文本,应该怎么弄
作者: batman    时间: 2008-11-9 16:58

  1. @echo off&setlcoal enabledelayedexpansion
  2. set /a m=1
  3. for /f "delims=" %%i in (a.txt) do (
  4.      set /a n+=1
  5.      if !n! equ 11 set /a n-=10,m+=1
  6.      echo %%i>>!m!.txt
  7. )
复制代码

作者: namejm    时间: 2008-11-9 17:03

原帖由 daocaor 于 2008-11-9 14:41 发表
如果是10行分一个文本,应该怎么弄

  演示代码(没有考虑特殊情况):
  1. @echo off
  2. set /a num=0,num_=0
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in (test.txt) do (
  5.     set /a num=!num!%%10
  6.     if !num! equ 0 set /a num_+=1
  7.     echo %%i>>!num_!.txt
  8.     set /a num+=1
  9. )
  10. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2