0

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

我希望能够从最多十个文件夹中选择要合并的文件。一旦做出选择...假设 a、b 和 d 程序将合并文件夹 1-10 中的 a、b 和 d,然后将十个文件夹的输出合并到 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

4

2 回答 2

0

您可以在命令行中使用 Windows >> 中的 append 运算符,然后列出您想要合并的所有文件,就像这样。

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
    )

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

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

于 2012-11-27T00:38:39.043 回答
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:记得更改Copy命令的格式,/A为文本文件,/B为二进制文件。

命令输出:

>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
于 2012-11-27T09:58:25.577 回答