服务器端调用winzip命令行对上传的多个文件打包压缩-ASP技术-3P代码网
繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 服务器端调用winzip命令行对上传的多个文件打包压缩

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

2006-05-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:要解决这个问题,首先要了解一下Windows Scripting Host,简称为WSH!下面引用一下微软给的解释: WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境, 在这个环境中,预定义了一些对象,同时也可以...

要解决这个问题,首先要了解一下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编程语言中应用

如果我们再把文件上传和此结合起来,就会产生很多使用的功能。如:

在用上传组件上传多个文件后,可以对其多个文件打包,以提供给其他人zip文件下载

或者上传一个zip文件后,可以利用程序对其解压,以提供给其他人单个文件下载

本文是作者经总结而作。文中难免有疏漏的地方,请大家多多指正!

以上的例子均在win2000+iis5.0上测试过!

责任编辑:admin
相关文章