合并多个文件

时间:2012-11-27 00:26:05

标签: windows

我没有编程经验但想要做以下事情:

我希望能够从最多十个文件夹中选择要合并的文件。一旦做出选择......让我们说a,b&然后该程序将合并a,b& d从文件夹1-10中,然后将十个文件夹的输出合并为1个文件.....

这是可能的吗?最好的方法是什么?

文件夹#1

文件A - 合并 文件B - 合并 文件C. 文件D - 合并

文件夹#2

文件A - 合并 文件B - 合并 文件C. 文件D - 合并

文件夹#3

文件A - 合并 文件B - 合并 文件C. 文件D - 合并

文件夹#4

文件A - 合并 文件B - 合并 文件C. 文件D - 合并

文件夹#10

档案A. 档案B. 文件C. 档案D

2 个答案:

答案 0 :(得分:0)

您可以在Windows中使用追加运算符>>从命令行中,只列出要合并的所有文件,如下所示。

Folder1\fileA.txt >> Folder10\merge.txt
Folder2\fileB.txt >> Folder10\merge.txt
Folder2\fileC.txt >> Folder10\merge.txt
Folder3\fileA.txt >> Folder10\merge.txt

如果您希望批处理程序向用户询问文件,然后将其合并到某个位置,您可以这样做......

:while1
    SET /P file=Please enter file name
    if NOT (%file%) == () (
        echo %file%
        %file% >> Folder10\merge.txt
        goto :while1
    )

通常,如果您有文件操作任务脚本语言(如batch,perl或powershell)比编程语言更合适。如果你要在Windows中做一些非常简单的事情,那么批处理通常可以完成工作,否则我建议使用perl或powershell。

如果您真的没有编程经验,那么我建议您阅读一些PowerShell教程http://www.powershellpro.com/powershell-tutorial-introduction/,并花些时间学习该语言。如果这对您来说太多的初始投资,那么我只建议将一个附加命令输入到.bat文件中,就像我在开始时一样并运行一次。它可能比尝试编写和调试第一个脚本更快。

答案 1 :(得分:0)

这是你想要做的?:

@Echo OFF

:: By Elektro H@cker

Set "folder=C:\Users\Administrador\Desktop\Test"

Echo Selected Folder: "%FOLDER%"
Set /P "files=Select files to merge (Example: "File1.txt" "File2.txt" "File3.txt") >> "


For %%@ in (%files%) Do (
    For /R "%FOLDER%" %%# in (*) DO (
        IF /I "%%@" EQU "%%~nx#" (call Set "Files_to_merge=%%Files_to_merge%% "%%#"+")
        )
    )
)


Copy /A %Files_to_merge:~0,-1% ".\output_file.txt"
pause&Exit

PS:请记住更改复制命令的格式,/ A表示文本文件,/ B表示二进制文件。

CMD输出:

>Selected Folder: "C:\Users\Administrador\Desktop\Test"
>Select files to merge (Example: "File1.txt" "File2.txt" "File3.txt") >>

>file1.txt file2.txt file3.txt

C:\Users\Administrador\Desktop\Test\file1.txt
C:\Users\Administrador\Desktop\Test\Nueva carpeta\file1.txt
C:\Users\Administrador\Desktop\Test\file2.txt
C:\Users\Administrador\Desktop\Test\Nueva carpeta\file2.txt
C:\Users\Administrador\Desktop\Test\file3.txt
C:\Users\Administrador\Desktop\Test\Nueva carpeta\file3.txt
        1 file(s) copied(s).

Presione una tecla para continuar . . .

Output_file.txt内容:

Content of "File1.txt" in first dir

Content of "File1.txt" in firstsub-dir

Content of "File2.txt" in first dir

Content of "File2.txt" in firstsub-dir

Content of "File3.txt" in first dir

Content of "File3.txt" in firstsub-dir