Powershell 从文本文件中读取数据并以列和行的形式显示

Powershell 从文本文件中读取数据并以列和行的形式显示,powershell,vbscript,Powershell,Vbscript,我是这个论坛的新手。我需要帮助。我有一个文本文件,在文本文件的一个长列中包含节点名和软件名 我想知道如何读入每个节点名及其软件名。每个节点名称将是一个col头,在每个节点名称下,它将是软件名称……代码将循环通过并读取所有软件名称,直到它到达下一个节点名称并启动一个新col头,然后再次重复,直到EOF 你知道怎么做吗 我的文本文件有如下内容: 节点名称:服务器名称#1 软件名称:abc 软件名称:def 软件名称:ghi 软件名称:etc。。。 在…上 而且。。。 而且。。。 节点名称:服务器名称

我是这个论坛的新手。我需要帮助。我有一个文本文件,在文本文件的一个长列中包含节点名和软件名

我想知道如何读入每个节点名及其软件名。每个节点名称将是一个col头,在每个节点名称下,它将是软件名称……代码将循环通过并读取所有软件名称,直到它到达下一个节点名称并启动一个新col头,然后再次重复,直到EOF

你知道怎么做吗

我的文本文件有如下内容:

节点名称:服务器名称#1 软件名称:abc 软件名称:def 软件名称:ghi 软件名称:etc。。。 在…上 而且。。。 而且。。。 节点名称:服务器名称#2 软件名称:xyz 而且。。。 而且。。。 再加上更多。。。 等 下一个节点名称:服务器名称#3 等等

预期产出:

节点名称:ServerName#1------节点名称:ServerName#2------节点名称:ServerName#3
软件名称:abc-----------------软件名称:xyz-----------------等…
软件名称:def-----------------和on…
软件名称:ghi-----------------和上…
软件名称:等------------------加上更多…
在…------------------------------------等…
而在…
而在…

希望此示例数据有助于澄清我的上述解释

提前感谢,

对于VBA:

要从文本文件中获取文本,可以使用。如果文本文件的每个条目都位于新行上,则可以逐行将文本文件直接读取到数组中

一旦有了数组,就可以搜索头并将值从这个一维数组传递到二维数组中

因为我不知道你的文件是什么样子的,所以这只是一个建议

如何使用Open的示例:

函数ReadFrom(ByVal FilePath作为字符串)作为字符串
Dim TextFile为整数,TextBody为字符串,数据为字符串
TextFile=FreeFile“VBA使用一个数字作为文件的参考,FreeFile返回下一个可用数字
打开文件路径以读取文本文件进行输入访问
执行直到EOF(文本文件)
行输入#文本文件,数据
TextBody=TextBody&Data
环
关闭#文本文件
ReadFrom=TextBody
端函数
包含文本数组的示例:

函数ReadFrom(ByVal FilePath作为字符串,ByVal AsArray作为布尔值)作为变量 Dim TextFile为整数,TextBody为字符串,数据为字符串,TextArray()为字符串,LineCount为长 作为字符串的ReDim TextArray(1到100000) TextFile=FreeFile“VBA使用一个数字作为文件的参考,FreeFile返回下一个可用数字 打开文件路径以读取文本文件进行输入访问 执行直到EOF(文本文件) 行输入#文本文件,数据 如果尽快的话 LineCount=LineCount+1 TextArray(LineCount)=数据 其他的 TextBody=TextBody&Data 如果结束 环 关闭#文本文件 如果尽快的话 Redim Preserve TextArray(1到LineCount) ReadFrom=TextArray 其他的 ReadFrom=TextBody 如果结束 端函数
“在文本文件的一个长列中。”-请向我们展示它的样子-复制粘贴前5-10行(包括标题,如果有的话)如果可能的话,是哪个VBA、VBScript或PowerShell作为OP标记了所有三行,那么您如何知道如何回答?我的答案是在VBA中。我将编辑我的答案来说明这一点。我意识到,我想说的一点是,多语言附加疑问句并不是邀请你留下一个适合其中一个附加疑问句的答案。事实上,这通常是一个明确的指标,一个问题是“太广泛”,应该被标记为“太广泛”。如果这是一个“论坛”,我会同意,但它不是,而且有很多现有的问题和答案涉及这个主题。许多人犯的错误是认为传统论坛也是如此,但事实并非如此。