我没有编程经验,但想做以下事情:
我希望能够从最多十个文件夹中选择要合并的文件。一旦做出选择,假设a,b&d,程序将合并文件夹1-10中的a,b&d,然后将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
发布于 2012-11-27 17:58:26
这就是你想要做的吗?
@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&ExitPS:记住要更改复制命令的格式,文本文件的格式为/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-27 08:38:39
你可以从命令行中使用>>中的附加操作符,然后列出你想要合并的所有文件,如下所示。
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中做一些非常简单的事情,那么batch通常可以完成这项工作,否则我建议使用perl或powershell。
如果你真的没有编程经验,那么我建议你阅读一些powershell教程http://www.powershellpro.com/powershell-tutorial-introduction/,花一些时间学习这门语言。如果这对你来说是一项太多的初始投资,那么我建议你像开始时那样在.bat文件中输入附加命令,然后运行一次。这可能比尝试编写和调试您的第一个脚本更快。
https://stackoverflow.com/questions/13575511
复制相似问题