中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 01:31
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于用批处理来关联Winrar并解压 查看 2,644 回复 22
楼 主 关于用批处理来关联Winrar并解压 发表于 2009-03-04 17:53 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
请看如下:
这里guanlian.bat里的内容:
@echo off
assoc.rar=rarfile
ftype rarfile="%programfiles%\winrar\jieyarar.bat" "%1" "%*"

assoc.zip=zipfile
ftype zipfile="%programfiles%\winrar\jieyazip.bat" "%1" "%*"

@echo off
title 正在解压....
echo 正在解压,如果文件较大,可能需要一点时间.
"%programfiles%\winrar\rar" x -y "*.rar" E:\临时下载存档区 >nul 2>nul
exit

这是 jieyarar.bat 里的内容
@echo off
title 正在解压....
echo 正在解压,如果文件较大,可能需要一点时间.
"%programfiles%\winrar\rar" x -y "*.rar" E:\临时下载存档区 >nul 2>nul
exit

这是jieyazip.bat里的内容
@echo off
title 正在解压....
echo 正在解压,如果文件较大,可能需要一点时间.
"%programfiles%\winrar\winrar" x -y "*.zip" E:\临时下载存档区 >nul 2>nul
exit

我本来只想解压用户点击的那个文件的,但不知道怎么才能获取那个变量,试过%0和%1

都不行,所以只能用*.zip和*.rar替代.
现在的问题是每解压一个文件,它都会解压当前目录下所有的rar或zip文件.
请问怎么才能只解压当前点击的文件呢.
2 发表于 2009-03-05 18:38 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
如果有什么软件或外部程序能让压缩文件解压到指定的目录也行.
3 发表于 2009-03-06 02:28 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
意思是所有压缩文件全部只能解压到一个目录里?

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
4 发表于 2009-03-06 02:33 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
WINRAR --设置--压缩--默认解压路径

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
5 发表于 2009-03-06 09:21 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
呵呵,我的意思是,一打开一个rar文件或zip文件,它就会自动解压到指定的目录,就和自解压文件一样.
6 发表于 2009-03-06 19:31 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
-_-那就干脆做一个脚本自动把RAR.ZIP转成自解

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
7 发表于 2009-03-06 23:34 ·  中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
Originally posted by lisyofun at 2009-3-6 09:21:
呵呵,我的意思是,一打开一个rar文件或zip文件,它就会自动解压到指定的目录,就和自解压文件一样.

以使用winrar.exe解压为例。
首先,假设我们要压缩并解压的文件是123.dat,期待他的解压路径为D:\hanye\guxing。首先,我们依次创建这些文件夹,然后把123.bat文件复制到该目录,将其压缩为123.rar。重点的是压缩的选项目:添加压缩时,“常规”下选择rar压缩格式,“文件”下选择“存储绝对路径”或“存储包括盘符的完全路径”。然后删除D:\hanye文件夹及其子文件夹和所有里面的文件。
在解压命令时,如下使用:
winrar.exe x -y "123.rar"
这样运行后,该123.rar就会被强制解压到D:\hanye\guxing。解压时并创建这些目录。
顺便说一点废话,用上面的方法创建的压缩文件,在我们用winrar的GUI界面解压缩时,无论使用哪个,都会创建绝对路径的目录。例如,选择解压到当前文件夹,则会在当前文件夹内生成子目录D_\hanye\guxing
至于你在1楼中说的会解压所有文件,那是因为你使用了*.rar和*.zip。

[ Last edited by Hanyeguxing on 2009-3-7 at 00:02 ]
8 发表于 2009-03-06 23:44 ·  中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
不好意思,没看明白你在1楼的意思,你是不是要使在自己的机器里,双击任意.rar 或.zip,会将其强制解压缩到某个指定的目录?

[ Last edited by Hanyeguxing on 2009-3-7 at 00:05 ]
9 发表于 2009-03-07 12:38 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
对,我的意思是只要客人一点击rar或zip文件,它就会自己解压到E:\临时下载存档区 这个固定的文件夹,因为文件都是客人自己下载的,所以总不能让客人自己做自解压文件吧,就比如说,客人刚刚下载了一个1.rar的文件,他一打开就会自动解压到E:\临时下载存档区这个文件夹里。我现在的问题是客人如果下了两个rar以上的压缩文件,一点击的话两个都会自动解压到E:\临时下载存档区,我想让它单独解压,就和自解压文件一样。
还有如果不用*.rar或*.zip的话,根本解压不了。
10 发表于 2009-03-08 06:35 ·  美国 纽约州 威斯特彻斯特 白原市 Abovenet通信股份有限公司
中级用户
★★
积分 216
发帖 129
注册 2007-02-14 07:26
19年会员
UID 79469
性别 男
状态 离线
有点强奸民意的意思,恐怕不妥。
11 发表于 2009-03-08 19:12 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
晕,我们这是网吧,当然有自己的考虑啊,现在讨论的是如何实现这一功能.
我现在加了一句 del /f "*.zip" 和 del /f "*.rar" 每次解压后都会删除原文件,虽然不太完美,但也还行.
12 发表于 2009-03-11 16:28 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
rar命令本身就支持解压后删除源文件

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
13 发表于 2009-03-11 18:56 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
不知道怎么样才能只解压用户点击的解压文件啊。
14 发表于 2009-03-12 20:49 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
我有想法了
我懒得装虚拟机
你有没可以远程登陆的测试环境

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
15 发表于 2009-03-12 21:57 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
在文件夹选项-文件类型-rar 点高级,改成 "C:\Program Files\WinRAR\unrar.exe" x -o+ -y "%1" E:\临时下载存档区\
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
lisyofun +2 2009-03-13 11:25

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
论坛跳转: