中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [VBS]如果调用Winrar并执行压缩操作?
作者:
标题: [VBS]如果调用Winrar并执行压缩操作? 上一主题 | 下一主题
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『楼 主』:  [VBS]如果调用Winrar并执行压缩操作?

用的是VBS脚本,想针对某个文件夹(特定的文件夹,事先定义好了)进行压缩处理!假设这个文件夹有20个DOC文档吧!

怎么调用WinRar呢,压缩后的文件名就以该文件夹命名!
Ps:在对这个文件夹压缩的时候,有两个方式,一个是压缩里面的所有文件,不包括文件夹本身,还有个就是直接压缩文件夹本身,哪个简单,就用哪个吧!!

谢谢!!

2007-4-5 06:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 2 楼』:  

自己去查winrar的命令参数  然后用VBS中的run

[ Last edited by baomaboy on 2007-4-6 at 03:06 AM ]



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-5 06:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『第 3 楼』:  

查它就可以解决吗??查查看,谢谢

2007-4-5 09:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『第 4 楼』:  

看不明白,能不能提示一下,比如说举个例子!!

2007-4-6 01:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mygoldnet
初级用户





积分 90
发帖 32
注册 2007-1-14
状态 离线
『第 5 楼』:  

RAR压缩的同步文件夹
'电脑爱好者专用版        编写:李兴旺        E-MAIL:wors_hip*163.com

MsgBox_Title_Text = "压缩的同步文件夹"
CompressionFolder = InputBox("请输入即将压缩的文件夹路径:", MsgBox_Title_Text, "C:\PHP")
If CompressionFolder = "" Then WScript.Quit

Function Interrogation(Contents)
    Dim intButton
    intButton = MsgBox(Contents, vbQuestion + vbYesNo, MsgBox_Title_Text )
    Interrogation = intButton = vbYes
End Function

Function Compression(CompressionFolder)
    FileName = "压缩的同步文件夹.vbs"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Destination = UCase(fso.GetFile(FileName).Drive) & "\"
    DIM cmd
    set fso= wscript.CreateObject("wscript.shell")
    cmd = "WINRAR A -IBCK -R " & Destination & "压缩的同步文件夹.RAR " & CompressionFolder
    fso.run cmd
    MsgBox "成功把 " & CompressionFolder & " 文件夹压缩到 " & Destination, vbInformation, MsgBox_Title_Text
End Function

If Interrogation("定时压缩文件夹,同步数据到闪盘,请点击“是”!" & vbCrLf & "马上压缩文件夹,同步数据到闪盘,请点击“否”!") Then
    Savetime = InputBox("请输入24 小时格式 (hh:mm) 的时间:", MsgBox_Title_Text, "11:30")
    If Savetime = "" Then WScript.Quit
    MsgBox "已经运行了定时压缩文件夹,请不要重复运行!", vbExclamation, MsgBox_Title_Text
    Dim Check
    Check = True
    Do
        HHMM = FormatDateTime(Time, 4)
        If HHMM = Savetime Then
            Compression(CompressionFolder)
            Exit Do
        End If
    Loop Until Check = False
Else
    Compression(CompressionFolder)
End If


2007-4-6 01:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by mygoldnet at 2007-4-6 01:41:
RAR压缩的同步文件夹
[code]
'电脑爱好者专用版        编写:李兴旺        E-MAIL:wors_hip*163.com

MsgBox_Title_Text = "压缩的同步文件夹"
CompressionFolder = InputBox ...

代码可当参考范例。

不过眇第一眼时发现了"fso.run cmd"吃了一惊,FSO(FileSystemObject)什么时候多出个.run的方法啊,又仔细看了看
Set fso = CreateObject("Scripting.FileSystemObject")
然后
set fso= wscript.CreateObject("wscript.shell")
虽然可以但很使得代码可读性变差了(太容易产生歧意了)不如用个wshshell



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-6 03:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
manxisuosy
新手上路





积分 7
发帖 4
注册 2007-4-6
状态 离线
『第 7 楼』:  

初学者,学习中。。。

2007-4-6 10:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kich
中级用户





积分 397
发帖 168
注册 2006-10-8
状态 离线
『第 8 楼』:  

首先感谢mygoldnet提供代码,回去好好研究下!
baomaboy说的有道理,哪怕写简单点,写成 "Ws" 也OK啊
谢谢各位

2007-4-7 05:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjq0886
新手上路





积分 13
发帖 7
注册 2006-12-1
状态 离线
『第 9 楼』:  

这个代码好难。。。

2007-5-24 22:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xswdong
中级用户





积分 216
发帖 129
注册 2007-2-14
状态 离线
『第 10 楼』:  

我是用最笨的方法.
regedit /s D:\m\Settings.reg
"C:\Program Files\WinRAR\WinRAR.exe" "-cp新建配置 6"
regedit /s "D:\m\删除Settings.reg"
其中Settings.reg就是事先导出的WinRAR注册表文件
删除Settings.reg就是删除cp新建配置 6的注册表文件,以前写的用习惯了.

2007-5-25 12:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 11 楼』:  

汗    fso.run是什么?
还是在CMD里操作,还不如直接用BAT

[ Last edited by zhoushijay on 2007-5-25 at 05:21 PM ]



你好,脚本专家!
<a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-5-25 17:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: