标题: [文本处理] 批处理怎样从多个文件(例5个)各提取一行到新文件6中? [打印本页]
作者: hdfsvod 时间: 2011-3-8 04:57 标题: 批处理怎样从多个文件(例5个)各提取一行到新文件6中?
我是新手。刚来这里,大家多多指教,先解决这个先,以后慢慢进来学习。
我想实习多个文本各提取一行到新文件中 首先弄5个(多行) 得到新文件6.7 .8.
9...........等文件
例:
1.txt
===================
111
222
333
.....
2.txt
===================
aaa
bbb
ccc
.....
3.txt
==================
OOO
XXX
RRR
.....
4.txt 5.txt 基本一样
得到
6.txt
==============
111
aaa
OOO
7.txt
==============
222
bbb
XXX
8.txt 9.txt.........
这样可以吗?
作者: superbat 时间: 2011-3-8 09:31
不知道行的分界符怎么用啊 请知道的解决下 谢啦
作者: CrLf 时间: 2011-3-8 13:27
- @echo off&setlocal enabledelayedexpansion
- for /l %%f in (1 1 5) do for /f "tokens=1* delims=:" %%a in ('findstr /n .* %%f.txt') do set /a "n=%%a+5"&echo>>!n!.txt %%b
复制代码
作者: hdfsvod 时间: 2011-3-8 15:06 标题: 回复 3楼 的帖子
初来炸道 你好我使用你的脚本得到
ECHO 处于关闭状态。
ECHO 处于关闭状态。
ECHO 处于关闭状态。
ECHO 处于关闭状态。
ECHO 处于关闭状态。
我源文件名为1-5.txt
原文件1.txt 2.txt 3.txt...我想改为a.txt b.txt c.txt ... 脚本那里修改
还有 如果我有10个文件 脚本又在哪里修改
多多指教。
[ 本帖最后由 hdfsvod 于 2011-3-9 13:26 编辑 ]
作者: hdfsvod 时间: 2011-3-8 23:09
继续 顶一下。今天学习了点东西。
作者: wc726842270 时间: 2011-3-8 23:46
1.空行是否考虑
2.文本的行数是否相同
3.行的开头是否含有特殊字符
作者: hdfsvod 时间: 2011-3-8 23:56
1.空行不考虑(意思:如果有空行就省略该行)
2.文本的行数不相同
3.行的开头可能有空格,其他字符的哦。
麻烦楼上帮我写一个吧
作者: hdfsvod 时间: 2011-3-9 13:24
问题还没有解决。小弟希望大家继续帮一下忙。感谢了。
作者: wc726842270 时间: 2011-3-9 16:15
1。行道的冒号会忽略
2。空行没有过滤
3。放在单独的文件夹中执行- @echo off
- (for %%i in (*.txt) do (
- for /f "delims=" %%j in ('findstr /n .* %%i') do echo %%j
- )
- )>c:\temp.txt
- if exist c:\?#.txt del c:\?#.txt
- set /p a=请输入要取的次数
- :1
- set /a n+=1
- (for /f "tokens=1* delims=:" %%i in ('findstr %n% c:\temp.txt') do echo=%%j)>c:\%n%#.txt
- if %n% equ %a% (goto :2) else goto :1
- :2
- del c:\temp.txt
- start c:\
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |