|
|
|
|
|
|
|
|

首 页:|业界资讯|:图形图像|:网络冲浪|:操作系统|:工具软件|:办公软件|:媒体动画|:精文荟萃|:认证考试|:网页设计|:技术开发 |:专 栏|

  当前位置:飓风软件下载网络学院业界资讯软件资讯 → 在服务器端调用winzip对上传的多个文件压缩
在服务器端调用winzip对上传的多个文件压缩
日期:2004年10月7日 作者:蓝点 人气: 查看:[大字体 中字体 小字体]

如何在服务器端调用winzip命令行对上传的多个文件打包压缩? 

要解决这个问题,首先要了解一下Windows Scripting Host,简称为WSH!下面引用一下微软给的解释: 
************************************************************************ 
* WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境, * 
* 在这个环境中,预定义了一些对象,同时也可以使用COM里的其他对象。 * 
* 他使用一种脚本引擎来对脚本解释执行,微软自己支持VBSCRIPT和JSCRIPT, * 
* 第三方也可以开发自己的脚本引擎。 * 
************************************************************************ 
具体点,就是你先编好一些脚本文件(微软自带例子若干,后缀.vbs或 .js), 
然后用一个程序对他解释执行,这个程序就叫Windows Scripting Host,程序 
的名字是Wscript.exe(或者命令行的Cscript.exe),你可以查看一下你的机器 
里有没有这两个文件,就知道有没有WSH了。(win2000是在winnt/system32/下) 
这非常像批处理文件,只不过文件里不是命令行,而是脚本语言写的脚本。 

再来简单介绍一下WSH自带的几个内置对象包括: 

1.由 Wscript.exe 提供的对象 
Wscript 作为 Wscript 公开给脚本引擎。 
WshArguments 未公开;通过 Wscript.Arguments 属性访问。 入 

2.由 WSHom.Ocx 提供的对象。 
WshShell 自动对象。ProgID 是 Wscript.WshShell。 
(注:这个就是我们要用到的,可以执行dos命令) 
WshNetwork 自动对象。ProgID 是 Wscript.WshNetwork。 
WshShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。 
WshUrlShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。 
WshCollection 未公开;通过 WshNetwork.EnumNetworkDrives 或 WshNetwork.EnumPrinterConnection 方法访问。 
WshEnvironment 未公开;通过 WshShell.Environment 属性访问。 
WshSpecialFolders 未公开;通过 WshShell.Folder 属性访问。 

他们主要可以完成环境变量的获取,网络登陆,驱动器映射,快截方式创建, 
程序加载,特殊文件夹(如系统文件夹)信息获取等功能。 

如果你的系统里支持ADO等COM部件,你同样可以使用, 
下面这个例子演示打开写字板查看文本文件,同时创建一个文本文件并写入一 
段话,你可以把他拷贝到写字板中,然后以.vbs为后缀存盘,之后双击他, 

'test.vbs 
'********************* 
'下面用SHELL对象启动程序 
'********************* 
Set WshShell = Wscript.CreateObject("Wscript.Shell") 
WshShell.Run ("notepad " & Wscript.ScriptFullName) 


'*********************************************** 
'用COM对象Scripting.FileSystemObject操作文本文件 
'*********************************************** 
Set fs = Wscript.CreateObject("Scripting.FileSystemObject") 
Set a = fs.CreateTextFile("c:\testfile.txt", True) 
a.WriteLine("这是一个测试。") 
a.Close 

也可以在asp等web编程语言中应用 
<script language="VBScript.Encode" runat=server> 
'上面用SHELL对象启动程序 
Set WshShell = server.CreateObject("Wscript.Shell") 
IsSuccess = WshShell.Run ("D:\winnt\system32\cmd.exe" ,1, true) 
if IsSuccess = 0 Then 
Response.write " 命令成功执行!" 
else 
Response.write " 命令执行失败!权限不够或者该程序无法在DOS状态下运行" 
end if 
</script> 
注: 
1.其中runat=server必须要有 
2.Set WshShell = Wscript.CreateObject("Wscript.Shell") 
要改为Set WshShell = server.CreateObject("Wscript.Shell"), 
3.参数1代表SW_SHOWNORMAL, 激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。 
4.TRUE代表返回执行的错误,False或者为指定代表脚本继续执行而不等待进程结束。 
5.调用WSH的内置对象了,可以象调用函数和过程一样。 
如call WshShell.Run ("D:\winnt\system32\cmd.exe" ,1, true) 

如果你对WSH感兴趣,想了解更多的话,请察看 
http://msdn.microsoft.com/library/d...onwshbasics.asp 
http://www.dev-club.com/club/bbs/sh...ce.asp?id=11136 

现在我们言归正传来看看如何对文件进行压缩和解压! 
大家都知道winzip对文件解压和压缩都易如反掌,但是如何通过程序和命令行对其调用呢? 
当然winzip的作者已经开发出 
WinZip Command Line Support Add-On Version 1.0 
大家去可以去http://www.winzip.com/wzcline.htm 下载wzcline.exe! 
前提是本机须安装winzip8.0或更高版本的支持,如果你不是winzip8.0,去 
http://www.winzip.com/download.htm 下载! 

下载后,直接安装就可以! 
就会在winzip的目录中产生winzip命令行帮助文件和程序

(出处:飓风网络)

相关文章:
·用Fireworks MX制作Windows XP风格按钮
·创建 Windows XP 图标
·在Windows XP以幻灯片方式浏览图片
·怎样把Windows server 2003转换成工作站系统
·Windows NTFS分区随心转换
·优化Windows启动 提升性能
·把Windows ME中的五笔拿出来
·Windows Me中的批处理
·Windows XP到底有多安全
·替你的Windows Me减减肥
相关软件:
·WINDOWS XP全攻略(HTML)
·Windows 2003 server 技术文章(PDF)
·Windows 优化大师 5.92 Build 4.325 破解补丁
·Windows优化大师 注册机 (适用于5.91及以前所有版本)
·WINDOWS 4in1 序列号生成器 V1.0
·微软“震荡波(Worm.Sasser)”漏洞补丁 for Windows Server 2003
·微软官方Windows“冲击波”蠕虫删除工具
·Windows 2000 IIS 入侵图解教程
·LumaQQ for Windows 2004
·Microsoft Windows Installer
特别推荐
热点TOP10
站长推荐!`