我没有编程经验但想要做以下事情:
我希望能够从最多十个文件夹中选择要合并的文件。一旦做出选择......让我们说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
答案 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