【发布时间】:2017-06-23 06:14:55
【问题描述】:
我使用以下 VBscript 在 commonapplicationdatafolder 中创建了一个文本文件“list.txt”。我正在显示一些 通过写入文本文件从变量(strlist)中获取值。
Const Value = &H23&
Const PATH = "\Cape\ibs"
Dim fso ' File System Object
Dim spFile ' Text File object to write
Dim objApplication ' Application object
Dim objFolder ' Folder object
Dim objFolderItem ' FolderItem object
Set objApplication = CreateObject("Shell.Application")
Set objFolder = objApplication.Namespace(Value)
Set objFolderItem = objFolder.Self
sname = objFolderItem.Path & PATH & "\list.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set spFile = fso.CreateTextFile(sname, True)
spoFile.WriteLine(strlist)
spoFile.Close
这是我的疑惑
1> 在创建该文件之前,我需要删除旧的现有“list.txt”,因为在安装过程中 我一直想创建列表文件。所以我想包含删除任何现有文件(任何旧 list.txt)的代码, 在创建最新的之前。这里我做了以下代码
If fso.FileExists(sname) Then
fso.DeleteFile sname, True
Else
Set spFile = fso.CreateTextFile(sname, True)
spoFile.WriteLine(strlist)
Set objFolderItem = Nothing
Set objFolder = Nothing
Set objApplication = Nothing
Set fso = Nothing
spoFile.Close
End If
这是怎么回事第一次会创建文件夹,下次会删除它,但我总是希望那个文件在那里(新的新文件,价值来自'strlist') 谁能告诉我 vbscript 代码来做到这一点。他们的我也删除了 Else 部分,但只是删除,下面的东西不起作用意味着创建。
2>在这里,我通过简单的“WriteLine”方法(spoFile.WriteLine(strlist))写入“list.txt”,但我在需要使用的地方读到了 'OpenTextFile'(Const ForWriting = 2) 用于写作,如果是这种情况我需要在这里做些什么改变,是强制性的吗?
【问题讨论】:
-
'OpenTextFile'(Const ForWriting = 2) 用于写入,是强制的吗?或者干脆 spoFile.WriteLine(strlist) 就足够了
标签: vbscript