Cmd 合并父文件夹中不同文件夹中的文本文件

Cmd 合并父文件夹中不同文件夹中的文本文件,cmd,Cmd,我在一个单亲文件夹中有50个子文件夹 在每个子文件夹中都有多个.txt文件。我想将单个子文件夹中的所有文本文件合并到1.txt文件中 但是我想要一个命令,这样就可以一次完成所有子文件夹,就像我不想为每个子文件夹编写命令一样 例如:- ABCD(父文件夹):- A. B这里A和B是子文件夹 A\0001.txt A\0002.txt 我想合并并使单个文本文件成为\0001.txt B\0001.txt B\0002.txt 我想合并B文件夹中的两个文本文件 可以一次性完成吗?使用powershel

我在一个单亲文件夹中有50个子文件夹

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

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

例如:-

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

A\0001.txt A\0002.txt

我想合并并使单个文本文件成为\0001.txt

B\0001.txt B\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
}
}

可能很旧但很有用:此版本以递归方式处理文件夹和子文件夹:

$basedir = "..."
$folderlist = Get-childitem -Path $basedir -Recurse -Directory | Select-Object FullName

foreach ($folder in $folderlist)
{
    Write-Host $folder.FullName
    $dir = $folder.FullName
    $outFile = Join-Path $basedir "merged.txt"
    # Build the file list
    $fileList = Get-ChildItem -Path $dir -Filter *.log | Select-Object FullName

    # 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)
    {
        Write-Host $file.FullName
        Get-Content $file.FullName | Out-File -FilePath $outfile -Encoding ascii -Append
    }
}