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

[文本处理] 请教,读取指定行到其他文本

如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 编辑 ]

  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. )
复制代码
***共同提高***

TOP

这样结果是在读取了最后一行

TOP

大哥,还是不行,只生成了空文本,没内容

TOP

可以了,谢谢了

TOP

  请叫==请教?标题都如此随意,楼主也未免太粗心大意了。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

如果是10行分一个文本,应该怎么弄

TOP

  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. )
复制代码
***共同提高***

TOP

原帖由 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
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表