标题: [文本处理] 批处理如何把文本中的每一行输入到一个新文本? [打印本页]
作者: kui198677 时间: 2011-3-20 10:02 标题: 批处理如何把文本中的每一行输入到一个新文本?
如文本内容为
12sadf
458766
adf345$
把每一行输入到一个新的文本里,如果有多少行就输入到多少个文本里,文本名为所在行的行数
新的文本为
1.txt 12sadf
2.txt 458766
3.txt adf345$
作者: wc726842270 时间: 2011-3-20 10:26
用一下退格符,呵呵,看贴子发现的- @echo off&setlocal enabledelayedexpansion
- set n=0
- for /f "eol= delims=" %%i in (a.txt) do set /a n+=1&&echo=%%i >!n!.txt
- pause
复制代码
作者: kui198677 时间: 2011-3-20 11:27
还有一个问题,如果判断一行有几个字符呢
比如:文本里有
123456
1324
12456
如果判断这个文本里的每一行是多少个数字,如第一行为6个,第二行为4个,第三行为三个,然后判断那一行的字符最大,然后把这个数值写到一个新的文本里,这个文本的最大字符是6就输入六到新的文本里,注:文本里的行不固定
作者: CrLf 时间: 2011-3-20 11:35
是字节还是字符?判断字节只是顺手的事,字符就比较麻烦了
作者: kui198677 时间: 2011-3-20 11:42
字节
就是看一行有几个字节
如:
123456789
有9个字节
作者: kui198677 时间: 2011-3-20 11:45
我有一个文本内容如下:1.txt
内容为:
6.54823
7.35468
6.12351
2.13214
如何用批处理把这些行的数值相加再除4也就是算出它的平均值,文本不一定是四行,也就是说文本生成的行不一定相同,不管有几行,只要运行批处理就自动算出里面的平均值,非常感情
作者: CrLf 时间: 2011-3-20 11:52
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1,2* delims=:" %%a in ('(type 1.txt^&echo;^)^|findstr /n /o .*') do (
- set h=%%a
- set tmp=%%c
- if %%b gtr 0 (
- echo !tmp!
- echo %%b
- )>!h!.txt
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |