调用winzip命令行对上传的多个文件打包压缩
程序员文章站
2022-05-07 16:45:29
如何在服务器端调用winzip命令行对上传的多个文件打包压缩?要解决这个问题,首先要了解一下windows scripting host,简称为wsh!下面引用一下微软给的解释:**********...
如何在服务器端调用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。
(注:这个就是我们要用到的,可以执行命令)
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: estfile.txt", true)
a.writeline("这是一个测试。")
a.close
也可以在等web(在现在的中占有很大的比重)语言中应用
<script language="vbscript.encode" runat=server>
上面用shell对象启动程序
set wshshell = server.createobject("wscript.shell")
issuccess = wshshell.run ("d:winntsystem32cmd.exe" ,1, true)
if issuccess = 0 then
response.write " 命令成功执行!"
else
response.write " 命令执行失败!权限不够或者该程序无法在dos状态下运行"
要解决这个问题,首先要了解一下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。
(注:这个就是我们要用到的,可以执行命令)
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: estfile.txt", true)
a.writeline("这是一个测试。")
a.close
也可以在等web(在现在的中占有很大的比重)语言中应用
<script language="vbscript.encode" runat=server>
上面用shell对象启动程序
set wshshell = server.createobject("wscript.shell")
issuccess = wshshell.run ("d:winntsystem32cmd.exe" ,1, true)
if issuccess = 0 then
response.write " 命令成功执行!"
else
response.write " 命令执行失败!权限不够或者该程序无法在dos状态下运行"
上一篇: 古代女子为什么宁可守寡也不肯改嫁?古代女子的辛酸史!
下一篇: 词语搭配游戏的制作(ASP)二