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

2016-01-29 17:38 105 1 收藏

调用winzip命令行对上传的多个文件打包压缩,调用winzip命令行对上传的多个文件打包压缩

【 tulaoshi.com - ASP 】

  如何在服务器端调用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:winntsystem32cmd.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:winntsystem32cmd.exe" ,1, true)

如果你对WSH感兴趣,想了解更多的话,请察看
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsconwshbasics.asp
htt

来源:https://www.tulaoshi.com/n/20160129/1502258.html

延伸阅读
标签: 电脑入门
WinRAR支持命令行执行压缩与解压缩等,而且就一个rar.exe就能支持图形界面的很多操作,特别方便远程管理等 我的实例: 将D:/wk.doc压缩为:final.rar d:/winrar/rarad:/final.rard:/wk.doc 将final.rar中的wk.doc解压到F:盘 rared:/final.rarF: 将final.rar转换成自解压文件 rarsfinal,rar(默认转换到同级目录下了) 给自解压文...
     要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS window”)并输入命令: C: C:Program FilesMySQLMySQL Server 5.0inmysqld 根据系统中MySQL安装位置的不同,前面的例子中使用的路径也不同。 在非NT版本的Windows中,在后台启动mysqld。也就是,服务器启动后,你应当可以看见后面的命...
标签: 服务器
mac命令行终端怎么卸载软件 mac命令行终端卸载软件教程   mac命令行终端怎么卸载软件?mac os系统卸载软件方式有多种, 卸载工具,程序图标拖拽到垃圾桶皆可,但对顽固残留软件该怎么办呢?下文小乐哥分享mac命令行终端卸载软件教程,一起来看看吧! mac命令行终端删除文件教程 1 打开终端应用程序 2 输入命令:sudo (...
标签: 电脑入门
在使用MAC的过程中,有时我们需要重启电脑,那么该如何快速重启MAC呢?许多用户都习惯使用Menubar小苹果菜单里的重新启动来重启Mac。今天图老师小编在告诉大家通过命令行重启MAC的技巧。 重启方法: 在Terminal输入: sudo shutdown -r now 就可以立刻重启设备。 对于正在通过SSH登录系统的用户,在重启时可以附上通知告知远程用户,...
?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   /** * jeruGraphics v 1.0 * * 看到一些动态生成图象的例子都是servlet完成的, * 而且程序很长,觉得不是无论从实用性还是可读性来说都不是太好。 * 这里给了段代码,命令行生成图象文件。这样是不是简单易用些呢? ...

经验教程

694

收藏

23
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部