vbscript操作文件

Set file=createObject("Scripting.FileSystemObject")


Set tofile=file.openTextFile("c://c.log",8,True)


tofile.writeLine("ddddd")
tofile.close()

Set tofile=file.openTextFile("c://c.log",1,True)
msgBox(tofile.readAll())
tofile.close()
Set remfile=file.getfile("c://c.log")
remfile.delete()

 

vbscript里面剪切内容

 

。对文件的操作

对文件的操作主要包括:
  • 创建文件
  • 写入文件
  • 读取文件
  • 移动、复制和删除文件

   1)创建文件

   创建文件主要有三种方法:

  • CreateTextFile 方法,如: 

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:/testfile.txt", True)

     CreateTextFile方法的具体用法是这样的:

        object.CreateTextFile(filename[, overwrite[, unicode]])

      其中object参数为FSO对象名称;filename参数设置文件的路径;overwrite为布尔值,true代表可以覆盖,false代表不可覆盖;最后一个可选参数指明是否以Unicode储存文件,true代表使用unicode,false代表使用ASCII方式,省略时默认为ASCII方式。

  • OpenTextFile 方法

Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:/test.txt", ForWriting, True)

     OpenTextFile方法的具体使用方法:     

        object.OpenTextFile(filename[, iomode[, create[, format]]])

      其中object代表FSO对象的名称;
     
filename指明要创建的文件路径;
      iomode为可选参数,可用数字和详细模式指定,代表输入/输出模式

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

 

      create为可选,以布尔值表示文件不存在时是否创建文件,true为允许创建,false为不允许,默认值为false;
      format为可选,可用数字和详细模式指定,代表以何种格式打开文件:

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

  • OpenAsTextStream 方法

Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:/test1.txt")
Set f1 = fso.GetFile("c:/test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)

   具体使用方法为:

        object.OpenAsTextStream([iomode, [format]])

   object代表FSO对象名称;
   iomode和format参数设置和OpenTextFile方法相同;  

   2)写入文件

创建文件后就可以写入文件了,一般分为以下三步:

  • 打开文本文件。
  • 写入数据。
  • 关闭文件。

创建文件时实际上会返回一个句柄,此时可以直接使用,写入文件可以有三种方法:

任务 方法
向打开的文本文件写数据,不用后续一个新行字符。 Write
向打开的文本文件写数据,后续一个新行字符。 WriteLine
向打开的文本文件写一个或多个空白行。 WriteBlankLines

下面示范这几种方法的具体使用:

function CreateFile()
{
   var fso, tf;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   tf = fso.CreateTextFile("c://testfile.txt", true);
   

   // 写一行,并且带有新行字符。
   tf.WriteLine("Testing 1, 2, 3.") ;

   
// 向文件写三个新行字符。 
   tf.WriteBlankLines(3) ;


   

// 写一行。
   tf.Write ("This is a test.");


   tf.Close();
}

   3)读取文件

要从文本文件读取数据,则使用 TextStream 对象的 ReadReadLineReadAll 方法。下表描述了不同的任务应使用哪种方法。

任务 方法
从文件读取指定数量的字符。 Read
读取一整行(一直到但不包括新行字符)。 ReadLine
读取文本文件的整个内容。 ReadAll

如果使用 ReadReadLine 方法,并且想跳过数据的特殊部分,则使用 SkipSkipLine 方法。read 方法的结果文本存在一个字符串中,该字符串可以显示在一个控件中,也可以用字符串函数(如 LeftRightMid)来分析,连接等等。

下面的 VBScript 示例示范了如何打开文件,和如何写数据到文件中并从文件读取数据:

Sub ReadFiles
   Dim fso, f1, ts, s
   Const ForReading = 1
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f1 = fso.CreateTextFile("c:/testfile.txt", True)
   
' 写一行。
   Response.Write "Writing file <br>"
   f1.WriteLine "Hello World"
   f1.WriteBlankLines(1)
   f1.Close
   '
读取文件的内容。
   Response.Write "Reading file <br>"
   Set ts = fso.OpenTextFile("c:/testfile.txt", ForReading)
   s = ts.ReadLine
   Response.Write "File contents = '" & s & "'"
   ts.Close
End Sub

   4)移动、复制和删除文件 

FSO 对象模式各有两种方法移动、复制和删除文件,如下表所述。

任务 方法
移动文件 File.Move 或 FileSystemObject.MoveFile
复制文件 File.Copy 或 FileSystemObject.CopyFile
删除文件 File.Delete 或 FileSystemObject.DeleteFile

下面的 VBScript 示例,在驱动器 C 的根目录中创建一个文本文件,向其中写一些信息,然后把它移动到 /tmp 目录中,并在 /temp 中做一个备份,最后把它们从两个目录中删掉。

 

Sub ManipFiles
   Dim fso, f1, f2, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f1 = fso.CreateTextFile("c:/testfile.txt", True)
   Response.Write "Writing file <br>"
   '写一行。
   f1.Write ("This is a test.")
   '
关闭文件。
   f1.Close
   Response.Write "Moving file to c:/tmp <br>"
   '获取 C 的根目录(C:/)中的文件的句柄。
   Set f2 = fso.GetFile("c:/testfile.txt")
   '
把文件移动到 /tmp 目录。
   f2.Move ("c:/tmp/testfile.txt")
   Response.Write "Copying file to c:/temp <br>"
   '把文件复制到 /temp 目录。
   f2.Copy ("c:/temp/testfile.txt")
   Response.Write "Deleting files <br>"
   '
获得文件当前位置的句柄。
   Set f2 = fso.GetFile("c:/tmp/testfile.txt")
   Set f3 = fso.GetFile("c:/temp/testfile.txt")
   

文中源代码从Microsoft原版vbScript手册中选取

你可能感兴趣的:(vbscript操作文件)