![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 23:51 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 我遇到大难题了!怎样批量在.txt文件的开头写入内容? |
| 可打印版本 1,373 / 9 |
| 第1楼 wedd | 发表于 2007-01-04 07:25 |
| 初级用户 发帖 16 积分 36 | |
|
我遇到大难题了!怎样批量在.txt文件的开头写入内容? 我想批量在.TXT文件中写入内容,但是要求是文件的开头,请大家给帮下忙,想个主义
原来用 for /f "delims=" %i in ('dir /s/b/a d:\downloads\*.txt') do @echo 内容 >> %i 写入的是文件末尾,现在我想写入文件头部,这个难度就大了,由于是批量(大概2000个文件,内容各不同),我郁闷了 希望大家出出主义 不知道copy命令能不能从某个临时文件把内容写入文件开头呢?我试了COPY命令,也是写入尾部。。。唉 |
|
| 第2楼 zh159 | 发表于 2007-01-04 07:56 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
copy/b 要写入的文件+源文件 新文件
PS: |
|
| 第3楼 wedd | 发表于 2007-01-04 08:39 |
| 初级用户 发帖 16 积分 36 | |
|
我不是要新文件啊,就是改写原来的文件
用这个命令copy /b tmp.txt+1.txt 1.txt之后 就问我是否改写1.txt,点Y之后,1.txt的内容全部变成tmp.txt的了,原来的没了 |
|
| 第4楼 dikex | 发表于 2007-01-04 10:09 |
| 高级用户 发帖 366 积分 788 | |
|
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里面最后一行是否空行是有区别的 |
|
| 第5楼 zh159 | 发表于 2007-01-04 11:57 |
| 金牌会员 发帖 1,467 积分 3,687 | |
Originally posted by wedd at 2007-1-3 19:39: 批处理不能单独在源文件开头写入数据(估计有第三方软件可以吧,不知道),所以要合并两个文件为新文件(最后删除源文件并改名新文件为源文件名) 当然没有了,都被新文件覆盖了,哪还来的源文件内容? |
|
| 第6楼 wedd | 发表于 2007-01-04 22:59 |
| 初级用户 发帖 16 积分 36 | |
|
嘿嘿,谢谢楼上各位,这个论坛气氛真好
|
|
| 第7楼 wedd | 发表于 2007-01-04 23:08 |
| 初级用户 发帖 16 积分 36 | |
|
回4楼 dikex
我按照你的方法做了,不行啊 是不是do里面不能执行多句语句啊? |
|
| 第8楼 wedd | 发表于 2007-01-04 23:12 |
| 初级用户 发帖 16 积分 36 | |
|
呵呵,是我的失误,现在我改了一下,把%%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" ) |
|
| 第9楼 vkill | 发表于 2007-01-06 01:57 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
| 第10楼 jmz573515 | 发表于 2007-01-06 02:47 |
| 银牌会员 发帖 464 积分 1,212 | |
|
好,气氛不错!
[ Last edited by jmz573515 on 2007-1-22 at 10:20 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |