中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 20:02
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 求教合并文件问题
可打印版本  726 / 10
第1楼 termmy 发表于 2008-03-20 13:09
新手上路 发帖 6 积分 14
求教合并文件问题
有下列一些文件
g123-1.plt
g123-2.plt
g123-3.plt
想把他们合并为
g123.hp


我用DOS命令中的COPY做了个BAT文件。

copy *.plt ????.hp
结果是分别拷贝成g123.hp,因此最终只是g123-3.plt一个文件被复制,其余两个都被覆盖掉。
如果 copy *.plt g123.hp就可以实现。

但实际中前4位不是定值,那么我的想法是先合并成一个文件在取原文件前4位给合并后的文件重命名,不知道能否实现。
第2楼 Climbing 发表于 2008-03-20 15:36
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
copy a+b+c d
第3楼 termmy 发表于 2008-03-20 15:44
新手上路 发帖 6 积分 14
这种方法文件名都是知道的情况,我是要针对所有文件,合并后提取原前几位字段来命名新文件。
第4楼 termmy 发表于 2008-03-20 15:45
新手上路 发帖 6 积分 14
应该用 echo来编吧? 我不会这种命令
第5楼 BWSkyer 发表于 2008-03-20 15:59
中级用户 发帖 180 积分 367 来自 重庆
copy没有这么强的功能吧...
第6楼 termmy 发表于 2008-03-20 16:25
新手上路 发帖 6 积分 14
Originally posted by BWSkyer at 2008-3-20 03:59 PM:
copy没有这么强的功能吧...


copy 只能做到合并,就是以指定文件名输出,但无法以参数的方式命名
第7楼 Climbing 发表于 2008-03-20 16:45
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
配合上其它的命令也不是没有可能。
第8楼 bush 发表于 2008-03-20 17:18
银牌会员 发帖 730 积分 2,165

先做一个长度为0的文件 :g123.hp
然后:

for %i in (*.plt) do copy /b g123.hp+%i g123.hp /y
第9楼 termmy 发表于 2008-03-20 17:27
新手上路 发帖 6 积分 14
Originally posted by bush at 2008-3-20 05:18 PM:

先做一个长度为0的文件 :g123.hp
然后:

for %i in (*.plt) do copy /b g123.hp+%i g123.hp /y


试了不行呀,再说这句里有G123了,我是要读PLT文件中前4为,比如文件是A534-1.PLT,输出就应该是A534.hp

不过谢谢了。
第10楼 abcd 发表于 2008-03-20 19:35
银牌会员 发帖 739 积分 1,436
第11楼 termmy 发表于 2008-03-20 20:13
新手上路 发帖 6 积分 14
Originally posted by abcd at 2008-3-20 07:35 PM:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023