中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易
作者:
标题: 求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易 上一主题 | 下一主题
wangbadan
初级用户





积分 22
发帖 9
注册 2006-11-16
状态 离线
『楼 主』:  求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易

求功能的实现:文件信息追加^_^谁会做呢?谁实现的最容易呢?
两个都能做出来吗?

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

功能二:
将所选目录下的所有文件进行追加,生成一个新文件;
条件是:每个文件都有一个“Data”关键字(占一行),“Data”之前的信息不予考虑,要将“Data”之后的信息进行追加。
例:
zuijia2.bat  .  new.txt
就把当前目录下的所有文件(不限扩展名)“Data”关键字后的信息都保存到了new.txt文件里了。

2006-11-16 10:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  关于把追加文件到另一个文件中去,可以用 copy 中的 + 来实现,请看帮助信息:
将一份或多份文件复制到另一个位置。

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
  ……
要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。
  对于功能一,因为你要把所有文件的信息都保存到new.txt中,但是你没有交代究竟是文件的什么信息:文件的内容?创建的时间?文件的大小?……所以无法给出具体代码。

  对于功能二,用 for 语句配合 findstr 的正则表达式应该不难办到。时间关系,暂时不写具体代码了,哪位有空先来写一下吧^_^



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-16 11:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 3 楼』:  

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


2006-11-16 13:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wangbadan
初级用户





积分 22
发帖 9
注册 2006-11-16
状态 离线
『第 4 楼』:  顶上去

顶上去

2006-11-17 01:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wangbadan
初级用户





积分 22
发帖 9
注册 2006-11-16
状态 离线
『第 5 楼』:  是文件中的内容

是文件中的内容

2006-11-17 04:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wangbadan
初级用户





积分 22
发帖 9
注册 2006-11-16
状态 离线
『第 6 楼』:  哎呀!3楼高手啊!!!

哎呀!3楼高手啊!!!如此简短的代码就实现了功能啊!!

2006-11-17 06:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 7 楼』:  

3742668版主果然是个高手呀.



for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2006-11-23 03:28
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 8 楼』:  

楼上兄弟灌水够快的。n多帖子^_^



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-23 03:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 9 楼』:  

那我也来水一个




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'>"
2006-11-23 06:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: