Board logo

标题: DOS分割文件 [打印本页]

作者: lxq73061     时间: 2007-4-1 05:29    标题: DOS分割文件

有一个txt文件,共有一万行号码.现在需要把它拆分为多个文件,每个文件400行号码,DOS命令如何写.
作者: bjsh     时间: 2007-4-1 05:58
试试这个行不行

  Quote:

  1. @echo off
  2. set /a count=0
  3. set /a t=1
  4. for /f "delims=" %%a in (test.txt) do (
  5. set /a count+=1
  6. echo %%a >>%t%.txt
  7. if %count% geq 400 set /a count=0 && set /a t+=1
  8. )
         BJSH发表于:  2007-03-31  16:49


作者: wuwuwuming     时间: 2007-4-1 09:57
强~~~~~~~~
作者: lxq73061     时间: 2007-4-2 23:10
不对啊,怎么没有用呢.只生成了一个新的1.txt文件,可比原来的文件还要大.
作者: NaturalJ0     时间: 2007-4-3 00:37
要使用变量延迟
作者: lxq73061     时间: 2007-4-4 06:27
什么 意思?
作者: bjsh     时间: 2007-4-4 06:45
把你的文件作为附件传上来
作者: lxq73061     时间: 2007-4-4 07:06
号码在附件中
附件 1: 号码列表.rar (2007-4-4 07:06, 48.07 K,下载次数: 20)

作者: dikex     时间: 2007-4-4 07:17
这东西貌似不止1W行……
算了,没有影响的,修改了一下2楼的代码,不用变量延迟,使用了call的方法
@echo off
set /a count=0
set /a t=1
for /f "delims=" %%a in (test.txt) do call :doit %%a
goto :eof

:doit
set /a count+=1
echo %1 >>%t%.txt
if %count% geq 400 set /a count=0 && set /a t+=1

作者: beijingju     时间: 2007-4-4 09:13
都是高手,慕名而来,学习了。
作者: lxq73061     时间: 2007-4-5 00:07
已经OK了,不过cmd好像很占用CPU,有没有好的解决方法?
作者: dikex     时间: 2007-4-5 01:21
由于你要处理的信息量太大,所以会比较占用CPU资源