要求脚本实现读取多个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