中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 16:51
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]一个读取文件名并压缩的问题
可打印版本  662 / 4
第1楼 oozic 发表于 2007-11-28 16:52
初级用户 发帖 25 积分 35
[求助]一个读取文件名并压缩的问题
我对dos不熟悉,所以请DX帮忙。

问题是这样的假设文件夹
D:\cisco\demo\Job\outgoing
内有四个txt文件,文件名分别为:
jabil_pen_ASNH084626.txt
jabil_pen_ASND084626.txt

jabil_pen_ASNH084627.txt
jabil_pen_ASND084627.txt
文件名.txt左面的6位是辨别文件名的数字编号。
现在我需要写个bat程序,它能自动识别左面的6为数字号码,比如上面四个文件的数字号码是084626,084627。
读出这两个号码后程序自动调用winzip的wzzip程序,将四个txt文件按相同的数字号码压缩成
jabil_pen_ASN084626.zip和jabil_pen_ASN084627.zip

麻烦DX们帮助!谢谢!!!

[ Last edited by oozic on 2007-11-28 at 08:59 PM ]
第2楼 scriptor 发表于 2007-11-28 23:47
银牌会员 发帖 555 积分 1,187
winrar 可以不~~??
第3楼 oozic 发表于 2007-11-29 09:41
初级用户 发帖 25 积分 35
可以只要能实现:P
第4楼 abcd 发表于 2007-11-29 10:01
银牌会员 发帖 739 积分 1,436
@echo off
for %%i in (*.txt) do (
set str=%%~ni
call "%programfiles%\winrar\winrar.exe" -o+ a "%%str:~0,-7%%%%str:~-6%%" *%%str:~-6%%.txt
)
pause
第5楼 oozic 发表于 2007-11-29 10:49
初级用户 发帖 25 积分 35
谢谢abcd

原来dos的批处理这么强,很不错!速度很快
我导还想写程序来做这个呢。

winzip现在也可以用啦
@echo off
for %%i in (*.txt) do (
set str=%%~ni
call "wzzip" "D:\cisco\demo\Job\outgoing\%%str:~0,-7%%%%str:~-6%%.zip" D:\cisco\demo\Job\outgoing\*%%str:~-6%%.txt
)
exit
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023