中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » for 调用winrar批量生成压缩文件 大家帮忙看看
« [1] [2] »
作者:
标题: for 调用winrar批量生成压缩文件 大家帮忙看看 上一主题 | 下一主题
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 16 楼』:  

兄别着急,我在我这里正在测试(怕万一出个错误删掉兄的文件可麻烦了:),有更短的命令可以完成,一会我发上来:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 03:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qingfushuan
高级用户





积分 502
发帖 327
注册 2006-12-30
状态 离线
『第 17 楼』:  我试了试

我试了试:
for /f %%a in ('dir /b /s') do rar a /r /sfx %%a "%%a"

好像可以满足要求,但是得把rar.exe和Default.SFX放在一块,直接就是自解压文件

希望对你有帮助

2007-2-7 03:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 18 楼』:  

回txtrain兄:

执行下面命令前(一劳永逸)需要设置初始值:

1)给 Winrar.exe 所在的目录设置路径,让系统可以找得到。
  如果觉得麻烦,可以将 WinRAr.exe 拷贝到 Windows 目录内,这样省去了手工设置路径的麻烦:)


2)将 \Program Files\WinRAR\ 目录内的 Default.SFX 这个文件拷贝到 Windows 目录内。
  这是 Winrar 或 RAR 在压缩自解压文件时所要读取的一个“字典”文件,如果不将其拷贝到已设置好的路径中,则压缩时找不到,也就压缩不了。

  拷贝了这个文件到 Windows 目录内,以后就可以一个压缩命令一步完成 .exe 自解压文件的建立。



命令行直接键入:
for /f %i in ('dir /b /ad') do winrar a /r /m5 /sfx "e:\bak\%i.exe" "%i"
将当前目录下的 下一级目录以及在内的所有文件 压缩成自解压(.EXE)格式,并将压缩成的 .exe 文件存到 E:\BAK 目录中。


DIR /AD   是只列目录,滤掉文件。
如果只有 dir /b 的话,则会连文件与目录名全都被 for 枚举出来。

我在%i 参数以及操作时均加有双引号,这样当遇到含有空格的目录名时照样可以工作,而不会出错。
如果不加双引号,则遇含有空格的文件名时又正遇到 MD 或 RD 等危险命令时很可能会发生意想不到的意外……



我这里通过测试:)
版本: RAR 3.0 未注册版,Windows 2003

[ Last edited by redtek on 2007-2-6 at 02:52 PM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 03:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 19 楼』:  

非常感谢qingfushuan兄指点~:)))



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 03:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qingfushuan
高级用户





积分 502
发帖 327
注册 2006-12-30
状态 离线
『第 20 楼』:  呵呵

我还是菜鸟的哈,从无忧泡到联盟就是想学习for的哦,谢谢LZ提供感兴趣的题材

实际上LZ已经完成了的,只是没用rar /? 咨询罢了,不敢窃天之功啊,我的关机脚本

就有:start c:\Progra~1\WinRAR\rar.exe a /r /s /m1 f:\mybackup\bak\%date%.rar f:\mybackup\backup 这一句,因而熟悉点

[ Last edited by qingfushuan on 2007-2-6 at 03:29 PM ]

2007-2-7 04:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 21 楼』:  

qingfushuan兄客气啦:)
我在眼里没菜鸟,每个人都有数不尽可以学习的地方~:)))



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 04:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
txtrain
初级用户





积分 28
发帖 12
注册 2007-1-19
状态 离线
『第 22 楼』:  感谢二位大哥

刚好,小弟最后那一帖子在十五楼,没看到 还有第二页不好意思.感谢你们为我这个问题所花费的时间.这是无价的.但是不完美的地方是E:\temp>for /f %a in ('dir /b /ad') do winrar a /r /sfx /m5 "e:\temp\%a.exe" "%a
"这一句一执行,会同时打开N个压缩文件进行压缩,试想一下,如果N够大的话.肯定会机器垮掉,而且有可能因为机器过忙压缩好的文件会出现压缩错误的情况

不捉迷藏了,这样就可以解决了.
for /f %a in ('dir /b /ad') do start /w winrar /a /r /sfx /m5 "e:\temp\%a.exe" "%a"


还有为了分享,我告诉大家一点经验.有时候压缩大文件的时候,可能会出现CRC失败之类的信息,这个时候压缩的时候选择压缩方式"最好"."创建固实压缩"一般可以解决问题.如果还是不能解决,呵呵,换个服务器版本的操作系统试试,这是小弟郁闷很久后的一点心得,拿出来省的大家再走弯路.

还有一点要求讲解的是,为什么那个for 语句最后面还要再跟一个"%a"呢?

[ Last edited by txtrain on 2007-2-6 at 05:43 PM ]

2007-2-7 06:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 23 楼』:  

有了qingfushuan兄和txtrain兄对WinRAR的经验之谈,以后网友再解决一些关于压缩方面的问题看此帖参考相关内容就再方便不过啦~:)
 
 
 
 
 
 
 
【 正文检索主题词: RAR    WINRAR    压缩    压缩文件    压缩目录    Default.SFX    /W   /WAIT  】

[ Last edited by redtek on 2007-2-6 at 06:21 PM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 07:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 24 楼』:  



  Quote:
Originally posted by txtrain at 2007-2-6 17:23:
有时候压缩大文件的时候,可能会出现CRC失败之类的信息,这个时候压缩的时候选择压缩方式"最好"."创建固实压缩"一般可以解决问题

欣赏txtrain兄经验之谈,学习了~:)
收藏~:)

[ Last edited by redtek on 2007-2-6 at 06:24 PM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 07:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: