合并父文件夹中不同文件夹中的文本文件
问题描述:
我在单个父文件夹内有50个子文件夹。合并父文件夹中不同文件夹中的文本文件
每个子文件夹中都有多个.txt文件。我想将单个子文件夹中的所有文本文件合并为1个.txt文件。
但我想要一个命令,以便可以一次完成所有子文件夹,就像我不想为每个子文件夹写入命令一样。
例如: -
ABCD(父文件夹): - 甲 B;这里A和B是子文件夹
A \ 0001.txt A \ 0002.txt
我想合并,使一个单一的文本文件\ 0001.txt。
乙\ 0001.txt 乙\ 0002.txt
我想合并这两个B中文件夹中的文本文件。
它可以一气呵成吗?
答
这可能使用PowerShell更容易。
请尝试以下操作并将basedir更改为所有子目录的父文件夹。
$basedir = "C:\Basedir"
$folderlist = Get-childitem -Path $basedir
foreach ($folder in $folderlist)
{
$dir = $folder
$outFile = Join-Path $dir "merged.txt"
# Build the file list
$fileList = Get-ChildItem -Path $dir -Filter File*.txt -File
# Get the header info from the first file
Get-Content $fileList[0] | select -First 2 | Out-File -FilePath $outfile -Encoding ascii
# Cycle through and get the data (sans header) from all the files in the list
foreach ($file in $filelist)
{
Get-Content $file | select -Skip 2 | Out-File -FilePath $outfile -Encoding ascii -Append
}
}