文件系统管理是系统管理的一个关键性任务。WSH和VB脚本在这个领域都没有提供相关的功能。幸运的是,你可以通过scriptruntime库来管理这些关键的系统组件,比如磁盘,文件夹和文件。此外,scriptruntime库提供了从text文件读写的方法,可以用来创建dictionary和编译脚本。两种主要的脚本语言,VB脚本语言和JS脚本语言起初的时候都是设计给客户端来编写IE的。正是因为如此,这两个脚本语言都有一些局限性。例如VB脚本和JS脚本内部都没有提供访问文件管理的一些任务,比如:复制、移动、删除文件等。这样做的目的是为了保护消费者。大多数的的网站不可能让用户通过网页去删除它们硬盘上的东西。尽管如此,脚本已经从类似的HTML的按钮之类的开始迅速的发展了。随着ASP的到来,浏览器的编写者要求在server上管理文件。而随着WSH的到来,系统管理员要求有在web浏览器外来管理文件了。为了满足这个要求,微软发布的了ScriptRuntimeLibrary。它是一个单独的DLL文件,,用来给脚本的编写者们提供一些文件管理的能力,包括以下内容:1、获取文件系统的信息,包括获得磁盘、文件和文件夹上的信息。2、复制,移动和删除文件及文件夹3、创建和读写文本文件。除了这些功能之外,ScriptRuntimeLibrary提供了创建字典的能力。也可以用来对脚本进行编译,使脚本成为加密的。Note:这章只是讨论FileSystemObject和Dictionary的部分,对于Encode部分不作讨论,ScriptRuntimeLibrary也是windows2000的一部分,它在你安装或者升级微软的应用程序的时候也随着升级和安装了:这些应用程序有以下几个:1、WSH 2、VB脚本 3、IE浏览器 4、MicrosoftOffice 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实例,然后创建磁盘属性的对象。当这个集合返回后,你可用一个ForEach的循环来重述这个集合。例如,下面的脚本就是要返回安装在本地计算机上的磁盘集合然后返回它们的盘符:1 SetobjFSO=CreateObject("")2 SetcolDrives= ForEachobjDriveincolDrives4 "Driveletter:"& Next◎VBS脚本运行库手册之二(磁盘操作)
VBS教程和脚本运行库手册 来自淘豆网m.daumloan.com转载请标明出处.