使用PowerShell将文件拆分为多个文本文件

使用PowerShell将文件拆分为多个文本文件,powershell,Powershell,我必须将一个文件从一个唯一字符串拆分为另一个唯一字符串,并将其拆分为多个文本文件,但文件的某些部分不应写入新文件。文件大小为6MB,主要包含名称和数字,如下所示 文件示例: WD2GDLPR Jack 123545 Peter 12564 HR4MJUTL Mark 4489 Alex 47889 JP3MFRLES Jane 5632 Toby 48685 1STRHD17-4 Jake 47

我必须将一个文件从一个唯一字符串拆分为另一个唯一字符串,并将其拆分为多个文本文件,但文件的某些部分不应写入新文件。文件大小为6MB,主要包含名称和数字,如下所示

文件示例:

WD2GDLPR Jack 123545 Peter 12564 HR4MJUTL Mark 4489 Alex 47889 JP3MFRLES Jane 5632 Toby 48685 1STRHD17-4 Jake 47896 Jess 48896
JP3MFRLES.txt
包含:

WD2GDLPR Jack 123545 Peter 12564 JP3MFRLES Jane 5632 Toby 48685
JP3MFRLES.txt
包含

WD2GDLPR Jack 123545 Peter 12564 HR4MJUTL Mark 4489 Alex 47889 JP3MFRLES Jane 5632 Toby 48685 1STRHD17-4 Jake 47896 Jess 48896 JP3MFRLES 简5632 托比48685 1STRHD17-4 杰克47896 杰斯48896
我将帮助您开始,但您需要使用我正在展示的内容并在此基础上进行扩展。报告哪些有效,哪些无效,我们将从那里继续

这一行程序可以做很多事情,并且可以扩展以完成您所要求的内容。下面是正在发生的事情:

  • Get Content
    将读取文本文件中的数据并将其传输到
    Select String
  • selectstring
    将查找正则表达式模式(您可以使用它们)并将其传送到
    foreach
    循环
  • foreach
    将循环遍历每个匹配的正则表达式,并通过管道将其传递到
    新项
  • newitem
    将获取该匹配项并创建一个.txt文件
  • 我建议做的是找到一种方法,再次循环遍历数据,在正则表达式匹配后获取所需的行,然后将该数据(
    addcontent
    )附加到正确的.txt文件中。您可以随时修补一行程序,让它在获取正则表达式匹配的同时获取该信息。有多种方法可以做到这一点。只要从逻辑上考虑一下,编写一些关于需要执行的操作的伪代码,然后开始插入PowerShell cmdlet以实现这一点

    下面是PowerShell脚本,让您继续(它是一行)

    Get Content'.\bigdata.txt'.\Select String-Pattern'([A-Z])\w+'.\foreach{$\uu0.Matches.Value | New Item.\$($\u0.Matches.Value.txt)-键入File}

    下面是该脚本的结果:


    请编辑问题并使用更合理的示例数据。很难理解需要什么样的处理。更重要的是,原始数据中的HR4M应该发生什么情况。您尝试了什么,以及您尝试的失败原因是什么?理想情况下,您应该提供您尝试过的内容的详细信息,并包括关于失败原因的具体信息,以及错误消息和/或错误输出。不是代码编写服务;最好的问题是那些提供有用信息的问题,这样那些回答问题的人可以引导你设计出自己的正确答案。看见 JP3MFRLES Jane 5632 Toby 48685 1STRHD17-4 Jake 47896 Jess 48896