|
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 |
|
|