gpt4 book ai didi

vbscript - 如何使用 Vbscript 覆盖和写入文本文件

转载 作者:行者123 更新时间:2023-12-03 20:22:47 29 4
gpt4 key购买 nike

我使用以下 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”的值(value)的文件)
任何人都可以告诉我执行此操作的 vbscript 代码。他们的我 删除其他部分 也只是删除,下面的东西不起作用意味着创建。

2>这里我只是使用'WriteLine'方法(spoFile.WriteLine(strlist))写入“list.txt”,但我读到了我们需要使用的地方
'OpenTextFile'(Const ForWriting = 2) 用于写入,如果是这种情况,我需要在此处进行哪些更改,是否是强制性的?

最佳答案

您需要在写入决定之前移动您的删除或不删除决定。

If fso.FileExists(sname) Then
'you delete if you find it'
fso.DeleteFile sname, True
End If
'you always write it anyway.'
Set spoFile = fso.CreateTextFile(sname, True)
spoFile.WriteLine(strlist)
Set objFolderItem = Nothing
Set objFolder = Nothing
Set objApplication = Nothing
Set fso = Nothing
spoFile.Close

对于您使用 Constant write values 的问题并使其更快一点(非常少),您可以尝试以下操作:
If fso.FileExists(sname) Then
Set spoFile = fso.OpenTextFile(sname, 2, True)
Else
Set spoFile = fso.CreateTextFile(sname, True)
End If
' perform your write operations and close normally'

关于vbscript - 如何使用 Vbscript 覆盖和写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3130892/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com