中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 我遇到大难题了!怎样批量在.txt文件的开头写入内容?
作者:
标题: 我遇到大难题了!怎样批量在.txt文件的开头写入内容? 取消高亮 | 上一主题 | 下一主题
wedd
初级用户





积分 36
发帖 16
注册 2007-1-2
状态 离线
『楼 主』:  我遇到大难题了!怎样批量在.txt文件的开头写入内容?

我想批量在.TXT文件中写入内容,但是要求是文件的开头,请大家给帮下忙,想个主义 原来用 for /f "delims=" %i in ('dir /s/b/a d:\downloads\*.txt') do @echo 内容 >> %i 写入的是文件末尾,现在我想写入文件头部,这个难度就大了,由于是批量(大概2000个文件,内容各不同),我郁闷了 希望大家出出主义 不知道copy命令能不能从某个临时文件把内容写入文件开头呢?我试了COPY命令,也是写入尾部。。。唉


2007-1-4 07:25
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  

copy/b 要写入的文件+源文件 新文件 PS:


2007-1-4 07:56
查看资料  发短消息  网志   编辑帖子  回复  引用回复
wedd
初级用户





积分 36
发帖 16
注册 2007-1-2
状态 离线
『第 3 楼』:  

我不是要新文件啊,就是改写原来的文件 用这个命令copy /b tmp.txt+1.txt 1.txt之后 就问我是否改写1.txt,点Y之后,1.txt的内容全部变成tmp.txt的了,原来的没了


2007-1-4 08:39
查看资料  发短消息  网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 4 楼』:  

for /f "delims=" %%i in ('dir /s/b/a d:\downloads\*.txt') do ( copy /b d:\tmp.txt+%%i %%i.tmp del %%i /f /q ren %%i.tmp %%~nxi ) 引用另外一个文件即可,注意tmp.txt里面最后一行是否空行是有区别的


2007-1-4 10:09
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 5 楼』:  

Originally posted by wedd at 2007-1-3 19:39: 我不是要新文件啊,就是改写原来的文件 用这个命令copy /b tmp.txt+1.txt 1.txt之后 就问我是否改写1.txt,点Y之后,1.txt的内容全部变成tmp.txt的了,原来的没了
批处理不能单独在源文件开头写入数据(估计有第三方软件可以吧,不知道),所以要合并两个文件为新文件(最后删除源文件并改名新文件为源文件名) 当然没有了,都被新文件覆盖了,哪还来的源文件内容?


2007-1-4 11:57
查看资料  发短消息  网志   编辑帖子  回复  引用回复
wedd
初级用户





积分 36
发帖 16
注册 2007-1-2
状态 离线
『第 6 楼』:  

嘿嘿,谢谢楼上各位,这个论坛气氛真好


2007-1-4 22:59
查看资料  发短消息  网志   编辑帖子  回复  引用回复
wedd
初级用户





积分 36
发帖 16
注册 2007-1-2
状态 离线
『第 7 楼』:  

回4楼 dikex 我按照你的方法做了,不行啊 是不是do里面不能执行多句语句啊?


2007-1-4 23:08
查看资料  发短消息  网志   编辑帖子  回复  引用回复
wedd
初级用户





积分 36
发帖 16
注册 2007-1-2
状态 离线
『第 8 楼』:  

呵呵,是我的失误,现在我改了一下,把%%i加上引号,可以修改带空格的文件名了 for /f "delims=" %%i in ('dir /s/b/a d:\downloads\*.txt') do ( copy /b d:\tmp.txt+"%%i" "%%i".tmp del "%%i" /f /q ren "%%i".tmp "%%~nxi" )


2007-1-4 23:12
查看资料  发短消息  网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 9 楼』:  

看看这个适合不? www.cn-dos.net/forum/viewthrea ...


2007-1-6 01:57
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 10 楼』:  

好,气氛不错! [ Last edited by jmz573515 on 2007-1-22 at 10:20 PM ]


2007-1-6 02:47
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: