下载附录 B 脚本运行期库对象随同 Windows 2000和 ASP 3.0一起安装的缺省脚本语言在 s c r r u n,d l l文件中提供了一个脚本运行期库,能够提供一系列对象,这些对象可用于在服务器上 A S P中和运行于客户上的客户端代码中。
B.1 Dictionary对象
D i c t i o n a r y对象提供了一个非常有用的存储对象,可以用其存储相应的值,并以他们的名字访问和引用这些值,而不是使用通常数组索引的方法。其属性和方法如表 B - 1和表 B - 2所示。
表 B-1 Dictionary对象的属性属 性 说 明
C o m p a r e M o d e (仅用于 V B S c r i p t )设定或返回键的字符串比较模式
C o u n t 只读。返回 D i c t i o n a r y里的键 /条目对的数量
I t e m ( k e y ) 设定或返回指定键的条目值
K e y ( k e y ) 设或返回键值表 B-2 Dictionary对象的方法方 法 说 明
A d d ( k e y,item) 增加键 /条目对到 D i c t i o n a r y
E x i s t s ( k e y ) 如果指定的键存在返回 Tr u e,否则返回 F a l s e
Items( ) 返回一个包含 D i c t i o n a r y对象中所有条目的数组
Keys( ) 返回一个包含 D i c t i o n a r y对象中所有键的数组
R e m o v e ( k e y ) 删除一个指定的键 /条目对
RemoveAll ( ) 删除全部键 /条目对注:当键已经存在时,如果试图去添加一个相同的键 /条目对,或删除不存在的键 /条目对,或改变已经包含数据的 D i c t i o n a r y对象的 C o m p a r e M o d e,将会触发错误。
B.2 FileSystemObject对象
F i l e S y s t e m O b j e c t对象提供对服务器上底层的文件系统的访问,或者在客户机上通过 I E 5
与 名 为 超 文 本 应 用 程 序 (Hypertext Application,HTA )的 特 殊 网 页 类 型 协 同 工 作 。
F i l e S y s t e m O b j e c t对象有一系列属性和方法,其中一些返回文件系统中特定的其他的对象,这些辅助对象是:
提供对机器上所有可用驱动器的访问的 D r i v e对象。
提供对驱动器上文件夹的访问的 F o l d e r对象。
提供对每个文件夹上文件的访问的 F i l e对象。
这三个对象构成了一个整齐的层次,F i l e S y s t e m O b j e c t对象提供了通过直接创建辅助对象实例建立层次的方法,图 B - 1显示了通过使用不同的对象在机器的文件系统中导航的方法。
图 B-1 系统中对象方法的关系
F i l e S y s t e m O b j e c t对象的属性和方法如表 B - 3和表 B - 4所示。
表 B-3 FileSystemObject对象的属性属 性 说 明
D r i v e s 返回可被本地机使用的 D r i v e对象的集合,包括该机映射的网络驱动器表 B-4 FileSystemObject对象的方法方 法 说 明
B u i l d P a t h (path,name) 在已有的路径 p a t h上增添名字为 n a m e的文件或文件夹,如果需要,则增添路径分隔符 '\'
C o p y F i l e 将一个或多个源文件 s o u r c e (可以包含通配符 )复制到指定的目的文件夹 d e s t i n a t i o n。
(s o u rce,destination,overw r i t e) 如果 s o u rc e包含通配符或 d e s t i n a t i o n末尾是路径分隔符 ( ' \ ' ),那么认为
d e s t i n a t i o n是一文件夹。否则认为 d e s t i n a t i o n为一新文件的完全路径名。如果目标文件夹已经存在且 o v e rw r i t e参数设置为 F a l s e,将产生错误,缺省的
o v e rw r i t e参数是 Tr u e
CopyFolder 将一个或多个源文件夹 s o u rc e(可以包含通配符 )中复制到指定的目的文件夹
(s o u rce,destination,overw r i t e) d e s t i n a t i o n,包含了源文件夹中的所有文件。如果 s o u rc e包含通配符或
d e s t i n a t i o n末尾是路径分隔符 ( ' \ ' ),那么认为 d e s t i n a t i o n是一文件夹并放置要拷贝的文件夹。否则的话,认为 d e s t i n a t i o n要创建的一个新文件夹的路径名。如果目标文件夹已经存在且 o v e rw r i t e参数设置为 F a l s e,将产生错误,缺省的
o v e rw r i t e参数是 Tr u e
CreateFolder (f l o l d e r n a m e) 创建一个路径名为 f o l d e r n a m e的文件夹。如果 f o l d e r n a m e已经存在将产生错误
872计计 ASP 3 高级编程 下载
FileSystemObject对象
Drives属性
Drives集合 GetDrive方法 GetFolder方法
GetSpecialFolder
方法
Drives对象
RootFolder属性
Folder对象
File属性 ParentFolder属性
Files集合
Folders集合
File对象
TextStream对象 OpenTextFile方法
OpenAsTextStream
方法
CreateTextFile
方法
GetFile
方法
SubFolders属性
(续 )
方 法 说 明
C r e a t e TextFile 用指定的 f i l e n a m e文件名在磁盘上创建一个新文本文件,并返回与其对应
(filename,overwrite,unicode) 的 Te x t S t re a m对象,如果可选择的 o v e rw r i t e参数设置为 Tr u e,则覆盖同一路径下已有的同名文件。缺省的 o v e rw r i t e参数是 F a l s e。如果可选择的 u n i c o d e参数设置为 Tr u e,则该文件的内容将储存为 U n i c o d e文本,缺省的 u n i c o d e参数是 F a l s e
DeleteFile (filespec,forc e) 删除由 f i l e s p e c指定的一个或多个文件 (可以在路径的最后部分包含通配符 )。
如果可选的 f o rc e参数设置为 Tr u e,那么也删除具有只读属性的文件。缺省的
f o rc e参数是 F a l s e
DeleteFolder (folderspec,forc e) 删除由 f o l d e r s p e c指定的一个或多个文件夹 (可以在路径的最后部分包含通配符 )及文件夹中的所有内容。如果可选的 f o rc e参数设置为 Tr u e,即使文件夹包含的文件具有只读属性,也将删除该文件夹。缺省的 f o rc e参数是 F a l s e
DriveExists (d r i v e s p e c) 如果 d r i v e s p e c指定的驱动器存在则返回 Tr u e,否则返回 F a l s e。 d r i v e s p e c参数可以驱动器字符、一个字符串、一个文件夹的绝对路径或文件名
FileExists (f i l e s p e c) 如果 f i l e s p e c指定的文件存在则返回 Tr u e,否则返回 F a l s e。 f i l e s p e c参数可以包含文件的绝对路径或相对路径,或者是当前文件夹中的文件名
FolderExists (f o l d e r s p e c) 若 f o l d e r s p e c指定的文件夹存在返回 Tr u e,否则返回 F a l s e。 f o l d e r s p e c参数可以包含文件夹的绝对或相对路径,或者仅仅是当前文件夹中看到的文件夹名
GetAbsolutePathName (p a t h s p e c) 返回明确指定文件夹的路径,并考虑到当前文件夹的路径。例如,如果当前文件夹是 " c,\ d o c s \ s a l e s \ ",而 p a t h s p e c是 " j a n ",返回的值是 " c,\ d o c s \ s a l e s \ j a n "。
通配符,",,"和 " \ \ "路径操作符都是可接受的
G e t B a s e N a m e (f i l e s p e c) 仅返回在 f i l e s p e c中指定的文件名。即删除的文件扩展名和路径
GetDrive (d r i v e s p e c) 返回 d r i v e s p e c指定的驱动器所对应的 D r i v e对象。 d r i v e s p e c的格式可以包含冒号、
路径、分隔符或者是网络共享,即," c "," c,"," c,\ "及 " \ \ m a c h i n e \ s h a r e n a m e "
GetDriveName (d r i v e s p e c) 返回 d r i v e s p e c中指定的驱动器名。 d r i v e s p e c参数必须是文件或文件夹的绝对路径,或者仅仅是驱动器字母,例如," c,"或 " c "
GetExtensionName (filespec ) 返回 f i l e s p e c指定的文件的扩展名,即,去掉文件路径和文件名
GetFile (filespec) 返回 f i l e s p e c指定的文件所对应的一个 F i l e对象 。 f i l e s p e c可以是指定文件的相对或绝对路径
GetFileName (p a t h s p e c) 返回 pathspec 指定的路径和文件名的名称部分,如果没有文件名,返回是后一个文件夹。不检查这文件和文件夹是否存在
GetFolder (f o l d e r s p e c) 返回 f o l d e r s p e c指定的文件夹所对应的一个 F o l d e r对象。 f o l d e r s p e c可以是文件夹的相对或绝对的路径
GetParentFolderName (pathspec) 返回 p a t h s p e c指定的文件或文件夹的上一级文件夹。不检验该文件夹是否存在
GetSpecialFolder (f o l d e r s p e c) 返回一个与特定的 Wi n d o w s文件夹相对应的 F o l d e r对象。参数 f o l d e r s p e c的允许值是 Wi n d o w s F o l d e r ( 0 ),S y s t e m F o l d e r ( 1 )和 TemporaryFolder (2)
G e t TempName ( ) 返回一个随机产生的文件名,用于完成运算所需的临时文件或文件夹
MoveFile (s o u rce,destination) 将 s o u rc e指定的一个或多个源文件移动到 d e s t i n a t i o n指定的目标文件夹。在
s o u rc e里可以包含通配符,但 d e s t i n a t i o n不行。如果 s o u rc e包含通配符或
d e s t i n a t i o n末尾是路径分隔符 ( ' \ ' ),那么认为 d e s t i n a t i o n是一文件夹。否则,认为 d e s t i n a t i o n是一新文件夹的完整路径和名称。如果目标文件夹 d e s t i n a t i o n已经存在则产生错误
MoveFolder(source,destination) 将 s o u rc e指定的一个或多个源文件夹移动到 d e s t i n a t i o n指定的目标文件夹。
在 s o u rc e里可以包含通配符,但在 d e s t i n a t i o n中不行。如果 s o u rc e包含通配符或 d e s t i n a t i o n末尾是路径分隔符 ( ' \ ' ),则认为 d e s t i n a t i o n是放置移动文件夹的文件夹,否则认为是一个新文件夹的完整的路径和名字。如果目标文件夹
d e s t i n a t i o n已经存在则产生错误
O p e n TextFile 创建一个名叫做 f i l e n a m e的文件,或打开一个现有的名为 f i l e n a m e的文件,
(filename,iomode,create,format) 并且返回一个与其相关的 Te x t S t r e a m对象。 f i l e n a m e参数可以包含绝对或相对路径。 i o m o d e参数指定了所要求的访问类型。允许的数值是,F o r R e a d i n g ( 1 ) (缺省 ),F o r Wr i t i n g ( 2 ),F o r A p p e n d i n g ( 8 )。当写入或添加一个不存在的文件时,
如果 c re a t e参数设置为 t r u e,就将创建一个新文件。缺省的 c re a t e参数是 F a l s e。
f o r m a t参数说明对文件读或写的数据格式。允许数值是,Tr i s t a t e F a l s e ( 0 ) (缺省 ),
按 照 A S C I I格 式 打 开 ; Tr i s t a t e Tr u e ( _ 1 ),按 照 U n i c o d e格 式 打开 ; Tr i s t a t e U s e D e f a u l t ( _ 2 ),用系统缺省的格式打开附录 B 脚本运行期库对象 计计 873下载
B.3 Drive对象
D r i v e对象提供访问机器中所有驱动器的方法。 D r i v e对象的属性和方法如表 B - 5和表 B - 6所示。
表 B-5 Drive对象的属性属 性 说 明
Av a i l a b l e S p a c e 考虑了帐户限额和 /或其他限制,返回驱动器上对于该用户可用空间的大小
D r i v e L e t t e r 返回驱动器的字母
D r i v e Ty p e 返回驱动器的类型。返回值可以是 U n k n o w n ( 0 ),R e m o v a b l e ( 1 ),F i x e d ( 2 )、
N e t w o k ( 3 ),C D R o m ( 4 )和 R a m D i s k ( 5 )。然而需要注意的是当前版本的 s c r r u n,d l l
不支持预定义常数 N e t w o k,必须使用十进制数 3来代替表 B-6 Drive对象的方法方 法 说 明
F i l e S y s t e m 返回驱动器上文件系统的类型。返回值包括,FAT”,,N T F S”和,C D F S”
F r e e S p a c e 返回驱动器上可用剩余空间的总量
I s R e a d y 返回一个布尔值表明驱动器是否准备好
P a t h 用返回一个由驱动器字母和冒号组成路径,例如,C,”
R o o t F o l d e r 返回代表的驱动器根目录文件夹的 F o l d e r对象
S e r i a l N u m b e r 返回一个用于识别磁盘卷标的十进制的序列号
S h a r e N a m e 如果是一个网络驱动器,返回该驱动器的网络共享名
To t a l S i z e 返回驱动器的总容量 (字节数 )
Vo l u m e N a m e 设定或返回本地驱动器卷名
B.4 Folder对象
F o l d e r对象能够访问一个驱动器上的文件夹。其属性和方法如表 B - 7和 B - 8所示。
表 B-7 Folder对象的属性属 性 说 明
A t t r i b u t e s 返回文件夹的属性。可以是下列值的一个或其组合,N o r m a l ( 0 ),R e a d O n l y ( 1 ),
H i d d e n ( 2 ),S y s t e m ( 4 ),volume (名称 ) ( 8 ),D i r e c t o r y (文件夹 ) ( 1 6 ),A r c h i v e ( 3 2 ),
A l i a s ( 6 4 ),c o m p r e s s e d ( 1 2 8 )。例如,一个隐藏的只读文件,A t t r i b u t e s的值为 3
D a t e C r e a t e d 返回该文件夹的创建日期和时间
D a t e L a s t A c c e s s e d 返回最后一次访问该文件夹的日期和时间
D a t e L a s t M o d i f i e d 返回最后一次修改该文件夹的日期和时间
D r i v e 返回该文件夹所在的驱动器字母
F i l e s 返回包含 Fi l e对象的 F i l e s集合,表示该文件夹内所有的文件
I s R o o t F o l d e r 返回一个布尔值说明该文件夹是否是当前驱动器的根文件夹
N a m e 设定或返回文件夹的名字
P a r e n t F o l d e r 返回该文件夹的父文件夹的 F o l d e r对象
P a t h 返回文件夹的绝对路径,可使用相应的长文件名
S h o r t N a m e 返回 D O S风格的 8,3形式的文件夹名
S h o r t P a t h 返回 D O S风格的 8,3形式的文件夹绝对路径
S i z e 返回包含在该文件夹里的所有文件和子文件夹的大小
S u b F o l d e r s 返回包含该文件夹内的所有子文件夹的 F o l d e r s集合,包括隐藏文件夹和系统文件夹
Ty p e 如果可能,返回一个文件夹类型的说明字符串 (例如,,Recycle Bin” )
874计计 ASP 3 高级编程 下载表 B-8 Folder对象的方法方 法 说 明
C o p y (d e s t i n a t i o n,o v e rw r i t e ) 将这个文件夹及所有的内容复制到 d e s t i n a t i o n指定的文件夹。如果 d e s t i n a t i o n
的末尾是路径分隔符 ( ' \ ' ),那么认为 d e s t i n a t i o n是放置拷贝文件夹的一个文件夹。否则认为 d e s t i n a t i o n是要创建的新文件夹的路径和名字。如果目标文件夹已经存在且 o v e rw r i t e参数设置为 F a l s e,将产生错误,缺省的 o v e rw r i t e参数是 Tr u e
Delete (f o rc e) 删除文件夹及里面的所有内容。如果可选择的 f o rc e参数设置为 Tr u e,即使文件夹设置为只读,或含有只读属性的文件,也将删除该文件夹。缺省的
f o rc e是 F a l s e
M o v e (d e s t i n a t i o n) 将文件夹及里面所有的的内容移动到 d e s t i n a t i o n指定的文件夹。如果 d e s t i n a t i o n
的末尾是路径分隔符 ( ' \ ' ),那么认为 d e s t i n a t i o n是放置移动文件夹的一个文件夹。否则认为 d e s t i n a t i o n是一个新的文件夹的路径和名字。如果 d e s t i n a t i o n文件夹已经存在,则出错
C r e a t e TextFile 用指定的文件名在文件夹内创建一个新的文本文件,并且返回一个相应
(filename,overwrite,unicode) 的 Te x t S t r e a m对象。如果可选择的 o v e rw r i t e属性设置为 t r u e,将覆盖任何已有的同名文件。缺省的 o v e rw r i t e参数是 F a l s e,。如果可选择的 u n i c o d e参数设置为 Tr u e,文件的内容将存储为 Un i c o d e文本。缺省的 u n i c o d e是 F a l s e
B.5 File对象
F i l e对象能够访问每一个文件夹中的文件。其属性和方法如表 B - 9和 B - 1 0所示。
表 B-9 File对象的属性属 性 说 明
A t t r i b u t e s 返回文件属性。可以是下列值的一个或其组合,N o r m a l ( 0 ),R e a d O n l y ( 1 ),
H i d d e n ( 2 ),S y s t e m ( 4 ),v o l u m e ( n a m e ) ( 8 ),Directory (folder) (16),A r c h i v e ( 3 2 ),
A l i a s ( 6 4 ),compressed (128 )
D a t e C r e a t e d 返回该文件的创建日期和时间
D a t e L a s t A c c e s s e d 返回最后一次访问该文件的日期和时间
D a t e L a s t M o d i f i e d 返回最后一次修改该文件的日期和时间
D r i v e 返回该文件所在的驱动器的 D r i v e对象
N a m e 设定或返回文件的名字
P a r e n t F o l d e r 返回该文件的父文件夹的 F o l d e r对象
P a t h 返回文件的绝对路径,可使用长文件名
S h o r t N a m e 返回 D O S风格的 8,3形式的文件名
S h o r t P a t h 返回 D O S风格的 8,3形式的文件绝对路径
S i z e 返回该文件的大小 (字节数 )
Ty p e 如果可能,返回一个文件类型的说明字符串 (例如,,Text Document”表示,t x t文件 )
表 B-10 File对象的方法方 法 说 明
C o p y (destination,overw r i t e) 将这个文件复制到 d e s t i n a t i o n指定的文件夹。如果 d e s t i n a t i o n的末尾是路径分隔符 ( ' \ ' ),那么认为 d e s t i n a t i o n是放置拷贝文件的文件夹。否则认为
d e s t i n a t i o n是要创建的新文件的路径和名字。如果目标文件夹已经存在且
o v e rw r i t e参数设置为 F a l s e,将产生错误,缺省的 o v e rw r i t e参数是 Tr u e
附录 B 脚本运行期库对象 计计 875下载
(续 )
方 法 说 明
Delete ( force ) 删除这个文件。如果可选择的 f o rc e参数设置为 Tr u e,即使文件具有只读属性,也删除。缺省的 f o rc e是 F a l s e
Move ( ) 将文件移动到 d e s t i n a t i o n指定的文件夹。如果 d e s t i n a t i o n的末尾是路径分隔符 ( ' \ ' ),那么认为 d e s t i n a t i o n是放置移动文件的文件夹。否则认为 d e s t i n a t i o n
是一个新的文件的路径和名字。如果 d e s t i n a t i o n文件已经存在,则出错
C r e a t e Te x t F i l e 用指定的文件名创建一个新的文本文件,并且返回一个相应的 Te x t S t r e a m对
( filename,overwrite,unicode ) 象。如果可选的 o v e rw r i t e参数设置为 Tr u e,将覆盖已有的同名文件。缺省的
o v e rw r i t e参数是 F a l s e。如果可选的 u n i c o d e参数设置为 Tr u e,文件的内容将存储为 U n i c o d e文本。缺省的 u n i c o d e是 F a l s e
O p e n A s TextStream 打开指定文件并且返回一个 Te x t S t r e a m对象,用于文件的读、写或增加。 i o m o d e
(iomode,format ) 参数指定了要求访问的类型。允许值是 F o r R e a d i n g ( 1 ) ( 缺省值 ),
F o r Wr i t i n g ( 2 ),F o r A p p e n d i n g ( 8 )。 f o r m a t参数说明了读、写文件的数据格式。
允许值是,Tr i s t a t e F a l s e ( 0 ) (缺省 ),说明用 A S C I I数据格式 ; Tr i s t a t e Tr u e ( - 1 )说明用 U n i c o d e数据格式 ; TristateUseDefault (-2 )说明使用系统缺省的格式
A.6 Te x t S t r e a m对象
Te x t S t r e a m对象能够访问存储在磁盘上的文件,并与 F i l e S y s t e m O b j e c t对象一起使用。其属性和方法如表 B - 11和表 B - 1 2所示。
表 B - 11 Te x t S t r e a m对象的属性属 性 说 明
A t E n d O f L i n e 如果文件位置指针在文件中一行的末尾则返回 Tr u e
A t E n d O f S t r e a m 如果文件位置指针在文件的末尾则返回 Tr u e
C o l u m n 从 1开始返回文件中当前字符的列号
L i n e 从 1开始返回文件中当前字符的行号
A t E n d O f L i n e和 A t E n d O f S t r e a m属性只对使用 i o m o d e为 F o r R e a d i n g的方式打开的文件有效,
否则引用它们将可能导致产生错误。
表 B-12 Te x t S t r e a m对象的方法方 法 说 明
Close ( ) 关闭一个打开的文件
R e a d (n u m c h a r s) 从文件中读出 n u m c h a r s个字符
ReadAll ( ) 作为单个字符串读出整个文件
Readline ( ) 作为一个字符串从文件中读出一行 (直到回车符和换行 )
Skip ( n u m c h a r s) 当从文件读出时忽略 n u m c h a r s
SkipLine ( ) 当从文件读出时忽略下一行
Write (string ) 向文件写入字符串 s t r i n g
WriteLine ( string ) 向文件写入字符串 string (可选 )和换行符
WriteBlankLines ( n ) 向文件写入 n个换行符
876计计 ASP 3 高级编程 下载