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

[文本处理] 批处理怎样从多个文件(例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.........


这样可以吗?

不知道行的分界符怎么用啊 请知道的解决下  谢啦
只有说出来被人嘲笑的才是理想。

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. 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
复制代码

TOP

回复 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 编辑 ]

TOP

继续 顶一下。今天学习了点东西。

TOP

1.空行是否考虑
2.文本的行数是否相同
3.行的开头是否含有特殊字符
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

1.空行不考虑(意思:如果有空行就省略该行)
2.文本的行数不相同
3.行的开头可能有空格,其他字符的哦。

麻烦楼上帮我写一个吧

TOP

问题还没有解决。小弟希望大家继续帮一下忙。感谢了。

TOP

1。行道的冒号会忽略
2。空行没有过滤
3。放在单独的文件夹中执行
  1. @echo off
  2. (for %%i in (*.txt) do (
  3. for /f "delims=" %%j in ('findstr /n .* %%i') do echo %%j
  4. )
  5. )>c:\temp.txt
  6. if exist c:\?#.txt del c:\?#.txt
  7. set /p a=请输入要取的次数
  8. :1
  9. set /a n+=1
  10. (for /f "tokens=1* delims=:" %%i in ('findstr %n% c:\temp.txt') do echo=%%j)>c:\%n%#.txt
  11. if %n% equ %a% (goto :2) else goto :1
  12. :2
  13. del c:\temp.txt
  14. start c:\
  15. pause
复制代码
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

返回列表