【问题标题】:How to put a 2 array in config (.ini) file? [duplicate]如何将 2 数组放入配置(.ini)文件中? [复制]
【发布时间】:2016-11-20 12:24:48
【问题描述】:

我有这个简单的 VBScript 基本代码。

Dim cars: cars = Array("Volvo", "Saab", "BMW")
Dim fruits: fruits = Array("Apple", "Orange", "Banana")

Dim i: i = 0

For i = 0 To UBound(cars)
  Call Response.Write(cars(i) & " " & fruits(i))
Next

输出:

Volvo Apple
Saab Orange
BMW Banana

我想以数组变量仍然匹配的方式将所有变量放入配置 .ini 文件。 (例如 VolvoApple 代表 Volvo Apple)有人知道或有想法吗?

我试图在互联网上搜索这个,但没有这个主题。非常感谢您的回答。

【问题讨论】:

标签: arrays loops vbscript config ini


【解决方案1】:

不要使用数组,而是使用断开连接的记录集。它们可以以二进制或 xml 格式保存到文件中。

这会将行存储在文件中,然后根据行号对记录集进行排序并将其写回。

set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
Dim LineCount
Set rs = CreateObject("ADODB.Recordset")
With rs
    .Fields.Append "LineNumber", 4 
    .Fields.Append "Txt", 201, 5000 
    .Open
    LineCount = 0
    Do Until Inp.AtEndOfStream
        LineCount = LineCount + 1
        .AddNew
        .Fields("LineNumber").value = LineCount
        .Fields("Txt").value = Inp.readline
        .UpDate
    Loop
    .Sort = "LineNumber DESC"
    Do While not .EOF
        Outp.writeline .Fields("Txt").Value
        .MoveNext
    Loop
End With

使用

cscript //nologo file.vbs < %windir%\win.ini

并且来自记录集的帮助

Save 方法将 Recordset 保存在文件或 Stream 对象中。

语法

 recordset.Save Destination, PersistFormat 

参数

目的地可选。表示完整路径的 Variant 要保存 Recordset 的文件的名称,或对 一个 Stream 对象。

PersistFormat 可选。一个 PersistFormatEnum 值 指定保存记录集的格式(XML 或 ADTG)。默认值为 adPersistADTG。备注

【讨论】:

  • 嗨 Noodles,.ini 文件是什么样的?这是最重要的。谢谢。
  • 您只需保存并加载它。
  • 他们希望将数组输出为 INI 格式,而不是将 INI 文件读入脚本。使用断开连接的记录集的好处最多可以忽略不计。
猜你喜欢
  • 2016-11-20
  • 1970-01-01
  • 2017-02-21
  • 2021-06-07
  • 1970-01-01
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
相关资源
最近更新 更多