【问题标题】:Prepend text to Text file using VBScript使用 VBScript 将文本添加到文本文件
【发布时间】:2019-11-14 16:21:43
【问题描述】:

我有这个脚本允许我将文本插入文本文件,但我需要它位于文本文件的开头。此脚本当前将此添加到 .txt 文件的末尾。 而且我是新来自己尝试这些东西的人

Option Explicit
Dim objFSO, objFolder, objShell, objTextFile, objFile
Dim strDirectory, strFile, strText
strDirectory = "c:\scripts"
strFile = "\csv.txt"
strText = "sep=|"

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strDirectory) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
  Set objFolder = objFSO.CreateFolder(strDirectory)
  WScript.Echo "Just created " & strDirectory
End If

If objFSO.FileExists(strDirectory & strFile) Then
   Set objFolder = objFSO.GetFolder(strDirectory)
Else
   Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
   Wscript.Echo "Just created " & strDirectory & strFile
End If

set objFile = nothing
set objFolder = nothing

Const ForAppending = 8

Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strFile, ForAppending, True)

objTextFile.WriteLine(strText)
objTextFile.Close

WScript.Quit

【问题讨论】:

标签: vbscript


【解决方案1】:

您可以将文件的内容读入一个字符串,在其前面添加您的字符串,然后将所有内容写回到同一个文件中。

Dim sFileText
Dim sPrependText
Const ForReading = 1, ForWriting = 2

' Open file For Reading and Read All content to a variable
Set objTextFile = objFSO.OpenTextFile (strDirectory & strFile, ForReading, True)
sFileText = objTextFile.ReadAll
objTextFile.Close

' Prepend text in front of file's content
sPrependText = "sep=|"
sFileText = sPrependText & sFileText

' Open file For Writing and write text variable
Set objTextFile = objFSO.OpenTextFile (strDirectory & strFile, ForWriting, True)
objTextFile.Write sFileText
objTextFile.Close

【讨论】:

  • 好吧,老实说,我不知道在哪里添加或编辑 AKA 新手
  • 此代码将在您的 Const ForAppending = 8 行之后(保留该行),并将替换直到 WScript.Quit 的所有内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-05
  • 2014-12-05
  • 2013-01-04
  • 2016-08-29
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多