asp(vbs)fso OpenTextFile方法参数说明

时间:2022-09-29 16:19:53

OpenTextFile是asp语言中的一个方法
打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加。
object.OpenTextFile(filename[, iomode[, create[, format]]])

1、方法编辑打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加。
object.OpenTextFile(filename[, iomode[, create[, format]]])
2、参数编辑object

必选项。 object 应为 FileSystemObject 的名称。
filename
必选项。 指明要打开文件的字符串表达式。
iomode
可选项。 可以是三个常数之一: ForReading 、 ForWriting 或 ForAppending 。
create
可选项。 Boolean 值,指明当指定的 filename 不存在时是否创建新文件。 如果创建新文件则值为 True ,如果不创建则为 False 。 如果忽略,则不创建新文件。
format
可选项。 使用三态值中的一个来指明打开文件的格式。 如果忽略,那么文件将以 ASCII 格式打开。

3、设置编辑iomode 参数可以是下列设置中的任一种:

常数 值 描述

ForReading 1 以只读方式打开文件。 不能写这个文件。
ForWriting 2 以写方式打开文件
ForAppending 8 打开文件并从文件末尾开始写。

format 参数可以是下列设置中的任一种:
值 描述

TristateTrue 以 Unicode 格式打开文件。
TristateFalse 以 ASCII 格式打开文件。
TristateUseDefault 使用系统默认值打开文件。

4、说明编辑下面的代码说明了如何使用 OpenTextFile 方法打开文件并追加文本:
var fs, a, ForAppending;
ForAppending = 8;
fs = new ActiveXObject("Scripting.FileSystemObject");
//可以是三个常数之一: ForReading 、 ForWriting 或 ForAppending
//分别是 1 ,2 ,8
a = fs.OpenTextFile("c:\\testfile.txt", 2, false);
...
a.Close();

在vbs脚本中的用例

打开指定的文件并返回一个TextStream对象,可以读取、写入此对象或将其追加到文件。
object.OpenTextFile(filename[,iomode[,create[,format]]])
参数
object
必选项。应为FileSystemObject对象的名称。
filename
必选项。字符串表达式,指明要打开的文件名称。
iomode
可选项。输入/输出模式,是下列三个常数之一:ForReading,ForWriting,或ForAppending。
create
可选项。Boolean值,指出当指定的filename不存在时是否能够创建新文件。允许创建新文件时为True,否则为False。默认值为False。
format
可选项。三个Tristate值之一,指出以何种格式打开文件。若忽略此参数,则文件以ASCII格式打开。

iomode参数可为下列设置之一:

 

常数 描述
ForReading 1 以只读模式打开文件。不能对此文件进行写操作。
ForWriting 2 以只写方式打开文件。不能对此文件进行读操作。
ForAppending 8 打开文件并在文件末尾进行写操作。

 


  format参数可为下列设置之一:

 

常数 描述
TristateUseDefault -2 以系统默认格式打开文件。
TristateTrue -1 以Unicode格式打开文件。
TristateFalse 0 以ASCII格式打开文件。

 

 

用法举例:

Sub OpenTextFileTest
Const ForReading =1, ForWriting =2, ForAppending =8
Dim fso, f
Set fso =CreateObject("Scripting.FileSystemObject")
Set f =fso.OpenTextFile("c:\testfile.txt",ForWriting,True)
f.Write "嗨,你好!"
f.Close
End Sub
Call OpenTextFileTest

服务器之家写的一个函数

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
set fn2=fso.GetFile("E:\webroot\jb51\index2.htm")
flsize2=fn2.size
fldate2=fn2.datelastmodified
set fn=fso.GetFile("E:\webroot\jb51\index.htm")
flsize1=fn.size
fldate1=fn.datelastmodified
If fso.FileExists("E:\webroot\jb51\index2.htm") and flsize2>50000 and fldate2>fldate1 Then
'判断文件的大小,如果html文件重新生成需要判断是否更新过且文件不能小于50K
fso.getfile("E:\webroot\jb51\index2.htm").copy("E:\webroot\jb51\index.htm")
if err.number=0 then WriteHistory "成功"&now()&".........","log.txt"
end if
'日志写入函数
Sub WriteHistory(hisChars, path)
 Const ForReading = 1, ForAppending = 8
 Dim fso, f
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set f = fso.OpenTextFile(path, ForAppending, True)
 f.WriteLine hisChars 
 f.Close
End Sub