使用PowerShell我试图拆一个文本文件导入使用每一行的开头作为分隔符通过分割线
输入文件的多个文件(transfer.txt
)的文本文件:
3M|9935551876|11.99|2235641|001|1|100|N|780 3M|1135741031|13.99|8735559|003|1|100|N|145 3M|5835551001|20.50|4556481|002|1|100|N|222 3M|4578420001|33.00|1125785|001|1|100|N|652 8L|00811444243|134148|4064080040|1|02/05/2017 21:15:13|8|170502707|19.85 8L|00811444243|130925|4189133003|1|02/05/2017 21:15:13|8|170502707|4.69 8L|00811444243|136513|4186144003|2|02/05/2017 21:15:13|8|170502707|10.83
输出文件(Article.txt
):
3M|9935551876|11.99|2235641|001|1|100|N|780 3M|1135741031|13.99|8735559|003|1|100|N|145 3M|5835551001|20.50|4556481|002|1|100|N|222 3M|4578420001|33.00|1125785|001|1|100|N|652
这里是我的代码片段:
$Path = "D:\BATCH\"
$InputFile = (Join-Path $Path "transfer.txt")
$Reader = New-Object System.IO.StreamReader($InputFile)
while (($Line = $Reader.ReadLine()) -ne $null) {
if ($Line.StartsWith("3M")) {
$OutputFile = "Article.txt"
}
Add-Content (Join-Path $Path $OutputFile) $Line
}
因此,创建与输入文件相同的文件。代码有什么问题?
您从不将输出文件更改为除“Article.txt”之外的任何内容,并且您永远不会告诉它是输出一行还是将其丢弃。您告诉它将输出设置为Article.txt,然后将每行内容添加到内容中。 – TessellatingHeckler