◎感谢钱峰2007年05月13日 星期日 下午 04:26学习Vbs,当然是看微软网站上推出的官方教程比较原汁原味,可惜中国vbs学友里看过的恐怕不多,原因很简单,微软的官方原著是英文版的,看起来很费力。
当时,我刚刚发现vbs的妙处,可是除了一本微软的《Microsoft Windows脚本技术.CHM》之外,什么学习资料也不到,看到网上介绍有一本《windows2000脚本编程实用大全》的书,就跑到各个书店去订书,因为出版的时间太久了,那里都订不到,又跑到各个技术网站上去发帖,希望那位有电子版给我发一份,我愿意用其他方面的技术资料交换,结果如同石沉大海,一点消息也没有,在这里小小鄙视他们一下。
后来偶然在网络上遇到钱峰先生,慷慨赠送了他翻译的微软的官方教程给我,让我迈进了vbs的大门,真是惭愧,由于计算机感染病毒,钱峰先生的邮件地址我也不到了,只有他的一个qq号码,却从来不见他上线,多次留言,也没有见到他回应,在此对钱峰先生的翻译工作及无偿赠予表示衷心的感谢!
今后一段时间,我将逐步将钱峰先生翻译的微软官方教程贴出,与大家共同温习。
有英文好的朋友可能会发觉这份翻印的教程与微软官方原版并不是完全相同,一是因为钱峰先生翻译的时候大约并没有想到要出版或者与人交流,仅仅是自己学习,所以翻译的比较粗糙,我刚刚得到的时候,很多地方都看的不是很懂,在与微软英文官方教程比较后,按照自己的理解修改了其中的一部分(对其中的有些地方,其实到现在我也还是弄不明白);二是因为外国人行文和思维的方式与中国人有着很大的差别,读起来颇为费力,所以我对其中一些表达方式进行了修改,删除了其中一些我认为无关紧要的东西。各位学友如发现其中的错误请不吝指出,我会尽快修改,语意不祥的地方请参考:www.microsoft/technet/scriptcenter/guide/default.mspxvbs脚本怎么停止
◎VBS脚本运行库手册之一(磁盘操作)2007年05月13日 星期日 下午 04:36文件系统管理是系统管理的一个关键性任务。WSH 和 VB 脚本在这个领域都没有提供相关的功能。幸运的是,你可以通过 script runtime 库来管理这些关键的系统组件,比如磁盘,文件夹和文件。此外,script runtime 库提供了从 text 文件读写的方法,可以用来创建 dictionary和编译脚本。[作者:临汾市外事旅游局薛靖澜,转载请注明出处]
两种主要的脚本语言,VB 脚本语言和 JS 脚本语言起初的时候都是设计给客户端来编写 IE
的。正是因为如此,这两个脚本语言都有一些局限性。例如VB 脚本和 JS 脚本内部都没有提供访问文件管理的一些任务,比如:复制、移动、删除文件等。这样做的目的是为了保护消费者。大多数的的网站不可能让用户通过网页去删除它们硬盘上的东西。尽管如此,脚本已经从类似的 HTML 的按钮之类的开始迅速的发展了。随着 ASP 的到来,浏览器的编写者要求在 server 上管理文件。而随着 WSH 的到来,系统管理员要求有在 web 浏览器外来管理文件了。 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
为了满足这个要求,微软发布的了 Script Runtime Library。它是一个单独的 DLL 文件,scrrun.dll 文件,用来给脚本的编写者们提供一些文件管理的能力,包括以下内容:作者:临汾市外事旅游局薛靖澜,转载请注明出处]
1、获取文件系统的信息,包括获得磁盘、文件和文件夹上的信息。
2、复制,移动和删除文件及文件夹
3、创建和读写文本文件。
除了这些功能之外,Script Runtime Library 提供了创建字典的能力。也可以用来对脚本进行
编译,使脚本成为加密的。
Note:
这章只是讨论 FileSystemObject 和 Dictionary 的部分,对于 Encode 部分不作讨论,Script Runtime Library 也是 windows 2000 的一部分,它在你安装或者升级微软的应用程序的时候也随着升级和安装了:这些应用程序有以下几个:
1、WSH 2、VB 脚本 3、IE 浏览器 4、Microsoft Office 5、FileSystemObject
正如它的名字一样,FSO 设计用来帮助你管理文件系统,FSO 允许你获取重要的文件组件信息,包括硬盘、文件夹、文件;也提供一般的系统管理的任务,比如复制、删除、移动文件和文件夹。此外FSO 允许你读写文本文件。
用 FSO 其实有些用词不当,因为实际上 FSO 包含很多个对象,每个对象被设计成用来完成特定的目的。组成 FSO 的对象列在了下表中:作者:临汾市外事旅游局薛靖澜,转载请注明出处]
Drive 代表系统中磁盘或者磁盘的集合
File 代表系统中的一个文件或者文件的集合
Folder 代表文件系统中的一个文件夹或者多个文件夹
TextStream 代表文本文件中的读取、写入或者提交字符串
※ 磁盘管理
磁盘管理是系统管理的一个重要的部分。作为一个系统管理员,知道安装在这个计算机上磁盘是十分重要的,当然,知道这个磁盘的属性、磁盘类型、子盘大小、总共和剩余空间也是同等重要的。作为一个脚本的编写者,你有两个主要的选择来管理磁盘:WMI & FSO。一般来讲,WMI 更是管理磁盘的首选项,主要有以下几个原因: 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
1、WMI 能返回一些 FSO 无法返回的属性,比如磁道、扇面等。
2、FSO 不能返回一个目标磁盘。而是返回所有的磁盘,然后进行筛选出你感兴趣的磁盘。而你可以用 WMI 通过磁盘符号来返回特定的磁盘,WMI 可以用来返回远程计算机上磁盘的信息,但是 FSO 不可以,除非它用 wshcontroller对象。
虽然 WMI 或许是获得磁盘信息的最好工具。但是这里至少有两个原因使你必须去熟悉 FSO。
第一:因为有些低端的操作系统无法安装 WMI,所以只能使用 FSO; 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
第二:最重要的一点是因为:脚本的编写者们在想到获取磁盘信息的时候就会用到 FSO,而你作为系统管理员,可能会来看其它人的脚本,这样就需要了解 FSO。注:外国人写的真是拗口,我理解这句话的意思就是说FSO比WMI应用的更广泛一些。
※ 如何返回磁盘信息
在你管理计算机的磁盘之前,你需要知道你的计算机上实际上有多少磁盘可以使用。FSO 允许你管理安装在计算机上的所有磁盘,包括移动硬盘和网络硬盘(就是只要是有盘符的就可以了)为了返回这个集合,你需要首先创建一个 FSO 实例,然后创建磁盘属性的对象。当这个集合返回后,你可用一个 For Each 的循环来重述这个集合。 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
例如,下面的脚本就是要返回安装在本地计算机上的磁盘集合然后返回它们的盘符:
1 Set objFSO = CreateObject("Scripting.FileSystemObject")
2 Set colDrives = objFSO.Drives
3 For Each objDrive in colDrives
4 Wscript.Echo "Drive letter: " & objDrive.DriveLetter
5 Next
◎VBS脚本运行库手册之二(磁盘操作)2007年05月13日 星期日 下午 04:38※如何绑定指定磁盘
如果你事先知道要绑定的磁盘(例如C 盘或一个共享文件夹\\accounting\receivables),你可以用 GetDrive 的方法来直接绑定磁盘。这样你可以不用去筛选就获得特定磁盘的信息。GetDrive 需要一个单独的参数:磁盘符号或者是共享文件夹的 UNC 路径。你可以用如下的几种格式:C C: C:\ 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
在下面的脚本中首先创建一个 FSO 对象,然后用 GetDrive 的方法来直接绑定C盘,然后回显可用的磁盘空间:
1 Set objFSO = CreateObject("Scripting.FileSystemObject")
2 Set objDrive = objFSO.GetDrive("C:")
3 Wscript.Echo "Available space: " & objDrive.AvailableSpace
注意,这里没有 For Each 循环,你就可以获得磁盘的属性。因为脚本是返回一个单独的磁盘对象,而不是所有对象的集合。因此也就不用筛选了。作者:临汾市外事旅游局薛靖澜,转载请注明出处]
※如何列举磁盘驱动器的属性
磁盘集合的作用总是用来监视和列举的。作为一个系统管理员,你需要知道计算机上的可用磁盘,也需要知道磁盘的序列号、可用空间等信息。在你获得当前磁盘的集合或者单个磁盘的时候,你就可以获得下表列出的所有属性。作者:临汾市外事旅游局薛靖澜,转载请注明出处]
1、AvailableSpace——报告磁盘上可以使用的空间,单位是 bytes。如果想以 kb 为单位返回,除以 1024,如果想以 M 为单位返回,则除以 1.048,576。这个属性返回的是可用的磁盘空间的总数。如果一个磁盘启用了磁盘限额,那么他返回的数字可能比实际的要小。
2、DriveLette——返回特定磁盘的盘符。这个盘符不包含那么冒号。例如软盘返回的是A,而不是A:
3、DriveType——整数的值代表不同的磁盘类型:1:移动硬盘 2:硬盘 3:网络硬盘作者:临汾市外事旅游局薛靖澜,转载请注明出处]
4:CD-ROM 5:RAM 磁盘
4、FreeSpace——返回磁盘剩余空间的总额。单位是 bytes,如果是返回的单位是 kb,就除以 1024,如果是以 M 为单位,除以 1,048,576。注意:这个和磁盘可用空间不一样,剩余的磁盘空间不会考虑磁盘限额。作者:临汾市外事旅游局薛靖澜,转载请注明出处]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论