中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 12:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易 查看 1,343 回复 8
楼 主 求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易 发表于 2006-11-16 10:53 ·  中国 北京 联通(数字北京大厦IDC机房)
初级用户
积分 22
发帖 9
注册 2006-11-16 10:31
19年会员
UID 70675
性别 男
状态 离线
求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易呢?
两个都能做出来吗?

功能一:
将所选目录下的所有文件进行追加,生成一个新文件。
例:
zuijia.bat . new.txt
就把当前目录下的所有文件(不限扩展名)的信息都保存到了new.txt文件里了。

功能二:
将所选目录下的所有文件进行追加,生成一个新文件;
条件是:每个文件都有一个“Data”关键字(占一行),“Data”之前的信息不予考虑,要将“Data”之后的信息进行追加。
例:
zuijia2.bat . new.txt
就把当前目录下的所有文件(不限扩展名)“Data”关键字后的信息都保存到了new.txt文件里了。
2 发表于 2006-11-16 11:18 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  关于把追加文件到另一个文件中去,可以用 copy 中的 + 来实现,请看帮助信息:

将一份或多份文件复制到另一个位置。

COPY source
] ]
  ……
要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。


  对于功能一,因为你要把所有文件的信息都保存到new.txt中,但是你没有交代究竟是文件的什么信息:文件的内容?创建的时间?文件的大小?……所以无法给出具体代码。

  对于功能二,用 for 语句配合 findstr 的正则表达式应该不难办到。时间关系,暂时不写具体代码了,哪位有空先来写一下吧^_^
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-11-16 13:14 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
part 1:

@echo off
type "%~1\*.*" >%~2

注意事项:
如果文件最后一行后面没有回车会导致前一个文件的末尾行与后一个文件首行位于同一行。解决方法为:for %%i in (.) do echo.>>"%%i"


part 2:

@echo off
for /f "delims=: tokens=1,2" %%i in ('findstr /nrc:"^Data$" "%~1\*.*"') do more +%%j %%i 1>>"%~2"

注意事项:
1.Data区分大小写且该行没有其它任意字符。(也可以自行修改findstr参数以适应不同要求)
2.文件中只能出现一次Data。当然,可以自行修改代码扩充功能。
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
wangbadan +1 2006-11-17 22:22
hxuan999 +1 2006-11-23 03:27
4 顶上去 发表于 2006-11-17 01:12 ·  中国 北京 联通(数字北京大厦IDC机房)
初级用户
积分 22
发帖 9
注册 2006-11-16 10:31
19年会员
UID 70675
性别 男
状态 离线
顶上去
5 是文件中的内容 发表于 2006-11-17 04:14 ·  中国 北京 联通(数字北京大厦IDC机房)
初级用户
积分 22
发帖 9
注册 2006-11-16 10:31
19年会员
UID 70675
性别 男
状态 离线
是文件中的内容
6 哎呀!3楼高手啊!!! 发表于 2006-11-17 06:49 ·  中国 北京 联通(数字北京大厦IDC机房)
初级用户
积分 22
发帖 9
注册 2006-11-16 10:31
19年会员
UID 70675
性别 男
状态 离线
哎呀!3楼高手啊!!!如此简短的代码就实现了功能啊!!
7 发表于 2006-11-23 03:28
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
3742668版主果然是个高手呀.
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
8 发表于 2006-11-23 03:32 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
楼上兄弟灌水够快的。n多帖子^_^
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
9 发表于 2006-11-23 06:58 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
那我也来水一个

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
论坛跳转: