标题: [文本处理] 如何用批处理合并多个文本文件 [打印本页]
作者: snowsilent 时间: 2009-8-24 15:58 标题: 如何用批处理合并多个文本文件
合并*.txt文件时,将这些文件都追加到origin.txt中(origin.txt之前为空),但我这段代码有个问题,就是把已经生成的正确的origin.txt又追加到origin.txt一次,如何修改代码解决这个问题呢?
if exist d:\test1\tmp\origin.txt. (del d:\test1\tmp\origin.txt.)
for /r d:\test1\tmp\ %%i in (*.txt) do (
type %%i >>d:\test1\tmp\origin.txt
@echo merging with %%i
)
作者: januapr 时间: 2009-8-24 17:18
type %%i >>d:\test1\tmp\origin.txt
这里把origin.txt保存在非tmp目录下看看!
作者: more 时间: 2009-8-24 18:18
加一个是否为origin.txt的判断...
作者: terse 时间: 2009-8-24 18:29
这样不行吗?
- copy /a "d:\test1\tmp\*.txt" "d:\test1\tmp\origin.txt"
复制代码
作者: Seter 时间: 2009-8-24 18:50
楼上的估计不行....- if exist d:\test1\tmp\origin.txt. (del d:\test1\tmp\origin.txt.)
- for /r d:\test1\tmp\ %%i in (*.txt) do (
- if "%%i" neq "d:\test1\tmp\origin.txt" (
- type %%i >>d:\test1\tmp\origin.txt
- @echo merging with %%i
- )
- )
复制代码
没试过...感觉应该可以..思路和3楼的MORE大大说的一样!
作者: zqz0012005 时间: 2009-8-24 20:16
直接用copy合并不行吗?
循环过程中有新文件生成时,for 直接遍历文件有bug,最好用for /f 解析 dir 的输出。
作者: terse 时间: 2009-8-24 20:28
原帖由 Seter 于 2009-8-24 18:50 发表
楼上的估计不行....if exist d:\test1\tmp\origin.txt. (del d:\test1\tmp\origin.txt.)
for /r d:\test1\tmp\ %%i in (*.txt) do (
if "%%i" neq "d:\test1\tmp\origin.txt" (
type %%i >>d:\test1\tmp\origin.t ...
COPY 为什么不行呢?
如要每个文件都IF 还真不如 for /f 里面 dir 出来
作者: Lumiere 时间: 2009-8-24 21:52 标题: 回复 1楼 的帖子
that is because you created origin.txt in the directory where your code is searching for all txt files. Try substitute the following lines for your code.- if exist d:\test1\tmp\origin.txt. (del d:\test1\tmp\origin.txt.)
- for /r d:\test1\tmp\ %%i in (*.txt) do (
- type %%i >>d:\origin.txt
- @echo merging with %%i
- )
复制代码
作者: canyuexiaolang 时间: 2009-8-25 10:02
我觉得用COPY可以呀,
还有种没试过- @echo off
- for /f %%i in (1.txt) do set a=%%i
- echo %a%>origin.txt
- for /f %%l in (2.txt) do set b=%%l
- echo %b%>>origin.txt
- for /f %%m in (3.txt) do set c=%%m
- echo %c%>>origin.txt
复制代码
作者: canyuexiaolang 时间: 2009-8-25 10:04
试了下
好象不可以
再让人改改
看看可不可以
作者: snowsilent 时间: 2009-8-25 10:09
用2楼的方法将origin换了一个保存目录,就不会重复加了。也许要比在同一个目录下加判断条件简单。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |