2016-03-15 96 views
0

我在单个父文件夹内有50个子文件夹。合并父文件夹中不同文件夹中的文本文件

每个子文件夹中都有多个.txt文件。我想将单个子文件夹中的所有文本文件合并为1个.txt文件。

但我想要一个命令,以便可以一次完成所有子文件夹,就像我不想为每个子文件夹写入命令一样。

例如: -

ABCD(父文件夹): - 甲 B;这里A和B是子文件夹

A \ 0001.txt A \ 0002.txt

我想合并,使一个单一的文本文件\ 0001.txt。

乙\ 0001.txt 乙\ 0002.txt

我想合并这两个B中文件夹中的文本文件。

它可以一气呵成吗?

回答

0

这可能使用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 
} 
} 
相关问题