Powershell顺序读取多个文本文件内容并逐行汇总

要求脚本实现读取多个txt文件,逐行合并多个文件内容,如下:

a.txt文件内容

a a a
b b b
c c c

b.txt文件内容

1 1 1
2 2 2
3 3 3

c.txt文件内容

A A A
B B B
C C C

合并后total.txt文件内容

a a a
1 1 1
A A A
b b b
2 2 2
B B B
c c c
3 3 3
C C C
# 1.获取所有待读取的文本文件
$files = Get-ChildItem -Path .\*.txt

# 2.声明一个空数组用来存储汇总内容
$totalContents = @()

# 3.获取文件行数,用文件行数减一作为要循环的最大索引值
$contentLines = (Get-Content -Path $files[0].FullName).Length - 1

# 4.遍历文件行数
foreach($index in 0..$contentLines){
    # 5.获取第一个文件的内容
    $firstContent = Get-Content -Path $files[0].FullName
    # 6.获取第二个文件的内容
    $secondContent = Get-Content -Path $files[1].FullName
    # 7.获取第三个文件的内容
    $threeContent = Get-Content -Path $files[2].FullName
    # 8.累加第一个文件第n行数据
    $totalContents += $firstContent[$index]
    # 9.累加第二个文件第n行数据
    $totalContents += $secondContent[$index]
    # 10.累加第三个文件第n行数据
    $totalContents += $threeContent[$index]
}
# 11.将结果写入到新的文件中
Set-Content -Path .\total.txt -Value $totalContents
posted @ 2024-12-24 08:08  批处理代写  阅读(73)  评论(0)    收藏  举报