中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在文本文件开头添加一行内容
作者:
标题: 如何在文本文件开头添加一行内容 上一主题 | 下一主题
hgx126
初级用户





积分 100
发帖 80
注册 2008-9-12
状态 离线
『楼 主』:  如何在文本文件开头添加一行内容 使用 LLM 解释/回答一下

我有多个几百个文本文件,准备在每个文件开头插入一行:

例我的其中一个文件文件为:
5471,安德刚,"1,100.00",2000-6-18,2001-4-20,2003-9-21,呆帐,损失,,210.87,4.851E+13,8.81301E+13
5471,安德刚,"9,670.00",1997-10-8,1998-9-20,2003-9-21,呆帐,损失,,4659.83,4.851E+13,8.81301E+13
5471,安德刚,"3,120.00",1998-9-23,1999-9-20,2003-9-21,呆帐,损失,,598.11,4.851E+13,8.81301E+13
……

要在开头插入一行:
机构,户名,余额,借款日,到期日,起息日,四级,五级,表内息,表外息,客户号,借据号

如何写代码?
用sed 也行。

我在网上搜索了好久,没找到合适的代码。请大家帮忙!


2009-1-27 03:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

新文件存为 “new_原名” 格式。
@echo off
setlocal enableDelayedExpansion
set head=机构,户名,余额,借款日,到期日,起息日,四级,五级,表内息,表外息,客户号,借据号
echo %head%>head.ini
for /f "delims=" %%i in ('dir/b *.txt') do (
set/p fh=<"%%i"
if not "!fh!"=="%head%" copy/b head.ini+"%%i" "new_%%i"
)
pause




┌───────┐
├→学习→实践→┤
└───────┘
2009-1-27 11:04
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
hgx126
初级用户





积分 100
发帖 80
注册 2008-9-12
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

谢谢wxcute仁兄。

要是我只想在原文件上添加该行,而不是另外生成一个"new_"加原文件名的文件该如何写代码呢?


2009-1-28 00:05
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zzhh612
中级用户




积分 278
发帖 103
注册 2006-10-21
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

另外生成一个"new_"加原文件名的文件,生成后更改为原文件名,不就是
原文件了,只要能达目的就行,不要认死理.实在看不惯原来的,删除不就行了.




一个专搜注册信息的链接
Hidden Content - Reply to View
回复后可见
2009-1-28 00:14
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
hgx126
初级用户





积分 100
发帖 80
注册 2008-9-12
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

Thank you!


2009-1-28 00:26
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

也行,把 “new_” 字符串去掉就好。




┌───────┐
├→学习→实践→┤
└───────┘
2009-1-28 11:53
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ceii
初级用户





积分 115
发帖 45
注册 2007-3-3
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

sed -i "1i机构,户名,余额,借款日,到期日,起息日,四级,五级,表内息,表外息,客户号,借据号" *.txt


Last edited by ceii on 2009-1-28 at 19:35 ]


2009-1-28 19:33
查看资料  发短消息  网志   编辑帖子  回复  引用回复
motop
初级用户





积分 56
发帖 40
注册 2009-1-23
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

好,很实用啊。


2009-1-29 13:35
查看资料  发短消息  网志   编辑帖子  回复  引用回复
hgx126
初级用户





积分 100
发帖 80
注册 2008-9-12
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

Originally posted by ceii at 2009-1-28 07:33 PM:
sed -i "1i机构,户名,余额,借款日,到期日,起息日,四级,五级,表内息,表外息,客户号,借据号" *.txt


怎么生成一个没有扩展名的文件"sedDOSSU?"?,虽然用记事本能打开,毕竟不方便?


2009-1-31 02:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ceii
初级用户





积分 115
发帖 45
注册 2007-3-3
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

这是版本问题。
我使用的是 GNU sed version 4.0.7


2009-2-1 10:47
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

2搂得不错
但是有一个缺点:如果原TXT文件有以"机构,户名,余额,借款日,到期日,起息日,四级,五级,表内息,表外息,客户号,借据号"的话,而且还有其他内容.
set/p fh=<"%%i"
if not "!fh!"=="%head%" copy/b head.ini+"%%i" "new_%%i"

是否还应该加上别的判断呢?


2009-2-1 12:02
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (250988158)  编辑帖子  回复  引用回复
samliu
新手上路





积分 15
发帖 15
注册 2009-1-24
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下

哦 原来还可以这样的呀
学习了


2009-2-5 21:58
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
bobofu
新手上路





积分 13
发帖 8
注册 2007-5-11
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

@echo 机构,户名,余额,借款日,到期日,起息日,四级,五级,表内息,表外息,客户号,借据号 >>header.txt
copy/b header.txt+detal.txt
del detal.txt
ren header.txt detal.txt


2009-7-13 07:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: