如何在powershell中组合多个文件的内容

时间:2018-03-09 02:29:53

标签: powershell file-io powershell-v3.0

我想知道如何使用PowerShell将特定文件组合在一起。示例:我想采用EDIDISC.UPD EDIACCA.UPD EDIBRUM.UPD ETC ETC ETC ETC并将这些文件的内容组合在一起,并创建一个名为A075MMDDYY.UPD的新文件。现在我希望它能够被网络驱动器上有.UPD个文件的任何人运行。例如:我将在N:\USERS\Kevin,其他人可能在N:\USERS\JohnDoe

到目前为止我只有:

Param (
  $path = (Get-Location).Path,
  $filetype = "*.UPD",
  $files = (Get-ChildItem -Filter $filetype),
  $Newfile = $path + "\Newfile.UPD"
)
$files | foreach { Get-Content $_ | Out-File -Append $Newfile -Encoding ascii }

1 个答案:

答案 0 :(得分:0)

只关注连接(cat ting)多个文件内容以形成新文件的方面,假设当前目录(.):

$dir = '.'
$newfile ="$dir/Newfile.UPD"
Get-Content "$dir/*.UPD" -Exclude (Split-Path -Leaf $newFile) | 
  Out-File -Append -Encoding Ascii $newFile
  • 您可以将通配符表达式直接传递给Get-Content的(隐含的)-Path参数,以便检索所有匹配文件的内容。

  • 由于输出文件位于同一个目录中。并匹配通配符表达式,但是,它必须排除匹配, filename ,因此-Exclude (Split-Path -Leaf $newFile)参数(这另外假设没有输入文件)其名称与输出文件的名称相同。