22 vbscript
我们如何使用VBScript读取和写入一些字符串到文本文件?我的意思是我有一个已经存在的文本文件,所以当我使用下面的代码时: -
Set fso = CreateObject("Scripting.FileSystemObject" )
Set file = fso.OpenTextFile("C:\New\maddy.txt",1,1)
Run Code Online (Sandbox Code Playgroud)
这打开文件只是为了阅读,但我无法写任何东西,当我使用这段代码时: -
Set fso = CreateObject("Scripting.FileSystemObject" )
Set file = fso.OpenTextFile("C:\New\maddy.txt",2,1)
Run Code Online (Sandbox Code Playgroud)
我可以使用这个文件写,但无法读取任何内容.无论如何,通过只调用OpenTextFile一次方法我们可以打开文件进行读写.
我是VBScript的新手.我只熟悉C概念.是否有任何链接真正让我开始使用VBScript?
我想我需要对对象和属性概念有很好的了解.
gho*_*g74 22
您可以创建临时文件,然后将其重命名为原始文件:
Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "c:\test\file.txt"
strTemp = "c:\test\temp.txt"
Set objFile = objFS.GetFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Set ts = objFile.OpenAsTextStream(1,-2)
Do Until ts.AtEndOfStream
strLine = ts.ReadLine
' do something with strLine
objOutFile.Write(strLine)
Loop
objOutFile.Close
ts.Close
objFS.DeleteFile(strFile)
objFS.MoveFile strTemp,strFile
Run Code Online (Sandbox Code Playgroud)
使用OpenTextFile的用法几乎相同:
Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "c:\test\file.txt"
strTemp = "c:\test\temp.txt"
Set objFile = objFS.OpenTextFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
' do something with strLine
objOutFile.Write(strLine & "kndfffffff")
Loop
objOutFile.Close
objFile.Close
objFS.DeleteFile(strFile)
objFS.MoveFile strTemp,strFile
Run Code Online (Sandbox Code Playgroud)
Ste*_*uan 13
有关FileSystemObject对象的更多信息,请访问http://msdn.microsoft.com/en-us/library/aa242706(v=vs.60).aspx.为了获得好的VBScript,我建议:
这里有一些代码用于读取和写入文本文件:
Option Explicit
Const fsoForReading = 1
Const fsoForWriting = 2
Function LoadStringFromFile(filename)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(filename, fsoForReading)
LoadStringFromFile = f.ReadAll
f.Close
End Function
Sub SaveStringToFile(filename, text)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(filename, fsoForWriting)
f.Write text
f.Close
End Sub
SaveStringToFile "f.txt", "Hello World" & vbCrLf
MsgBox LoadStringFromFile("f.txt")
Run Code Online (Sandbox Code Playgroud)
你可以打开两个文本流,一个用于阅读
Set filestreamIn = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\Test.txt,1)
Run Code Online (Sandbox Code Playgroud)
和一个附加
Set filestreamOUT = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\Test.txt,8,true)
Run Code Online (Sandbox Code Playgroud)
filestreamIN可以从文件的开头读取,filestreamOUT可以写入文件的末尾.
不要这么认为......你只能openTextFile用于阅读(1),写作(2)或追加(8).参考这里.
如果你使用VB6而不是 VBScript,你可以这样做:
Open "Filename" [For Mode] [AccessRestriction] [LockType] As #FileNumber
Run Code Online (Sandbox Code Playgroud)
使用Random模式.例如:
Open "C:\New\maddy.txt" For Random As #1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
256128 次 |
| 最近记录: |