我的目录中有很多 *.cpp 文件。我已使用以下命令成功合并文件,该命令是我从其中一个在线站点获取的。
for %f in (*.cpp) do type "%f" >> Merged.doc
现在我有一个文件 (Merged.doc),其中包含我所有 .cpp 文件的内容。我想在合并时在每个 .cpp 的末尾添加空白页,或者希望将每个 .cpp 文件放在合并文件的不同页面中。
如下命令(来自另一个问题)。是否有类似于以下内容的命令:
type *.cpp > merged.doc
这里每个文件都从换行符开始,像这样它应该从新页面开始。
编辑
如果我需要在每个程序前添加四行文本怎么办。
假设我想在行中添加与每个文件关联的日期Date : DD-MM-YYYY
以及文件名为:abcd.cpp(我不想要他的.cpp)。
我做了什么 :
@echo off
cd C:\programs
echo ^<html^>^<head^>^<style^> pre {page-break-after: always;} ^</style^>^</head^>^<body^> >merged.html
for /r %%f in (*.cpp) do (
echo ^<pre^>
echo File Name :(Here i want the date associated with each file without the extension .cpp)
echo File Description :
echo Author :Name
echo Date :(Here the date associated with each program)
echo.
type "%%f"
echo ^</pre^>
) >>merged.html
echo ^</body^>^</html^> >> merged.html
生成的文件有错误
#include 之后没有<isotream.h>
或<conio.h>
或<string.h>
或<proccess.h>
。但是我的原始程序文件全部可用。它没有整个程序,只有每个程序的一半在结果文件中。我是批处理脚本的新手。我的批处理文件有什么问题。
答案1
这应该可以解决问题:
@echo off
break>merged.cpp
for /r %%f in (*.cpp) do (
type "%%f"
for /l %%x in (1, 1, 100) do echo.
) >> merged.cpp
这是编写的,用于从批处理文件运行。如果你每次都输入它,那么你就是在浪费时间。将 100 更改为你想要的任意返回数。
更新
如果 HTML 没问题,那么使用这个:
@echo off
cd C:\test
echo ^<html^>^<head^>^<style^> pre {page-break-after: always;} ^</style^>^</head^>^<body^> >merged.html
for /r %%f in (*.txt) do (
echo ^<pre^>
echo See, this is easy!
echo File Name: %%f
echo Author: The Dude
echo.
type "%%f"
echo ^</pre^>
) >> merged.html
echo ^</body^>^</html^> >> merged.html
更新 2
如果你想正确地将其导入 Word(无需购买 Acrobat 专业版),那么你只需要将文档打印为 PDF 文件。然后在 Word 中打开该 pdf 文件(就像打开文件一样*.doc
)。只有按照我所解释的那样操作,Word 才会正确转换它(单击“打开”后,您应该会看到一个消息框,询问您是否要继续转换)。
哦,你问的关于在每个源文件前添加 4 行文本的问题表明你没有从我展示的内容中学到任何东西。再看看我回答的第一部分,好好猜一下如何做到这一点。