這是一個基於這個任務的完整批處理代碼。
可以在批處理文件的頂部配置頁眉和頁腳文件。批處理文件自動創建並刪除頁眉和頁腳文件,如果該文件不存在已經運行批處理文件。
在當前目錄下所有的* .txt文件使用命令COPY與+
運營商被指定三個源文件與頁眉和頁腳文件,* .html文件合併在一起。當前目錄中與* .txt文件具有相同名稱的現有* .html文件將被覆蓋,除了在現有HTML文件上設置只讀屬性或當前NTFS權限或文件共享訪問權限不會覆蓋現有HTML文件。
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "HeaderFile=%TEMP%\Header.tmp"
set "FooterFile=%TEMP%\Footer.tmp"
set "DeleteHeaderFile="
set "DeleteFooterFile="
if not exist "%HeaderFile%" (
set "DeleteHeaderFile=1"
echo ^<HTML^>^<HEAD^>^<META content="IE=5.0000" http-equiv="X-UA-Compatible"^>
echo ^<META content="text/html; charset=windows-1252" http-equiv=Content-Type^>
echo ^<META name=GENERATOR content="MSHTML 11.00.10586.1045"^>^</HEAD^>
echo ^<BODY^>^<PRE^>
) >"%HeaderFile%"
if not exist "%FooterFile%" (
set "DeleteFooterFile=1"
echo ^</PRE^>^</BODY^>^</HTML^>>"%FooterFile%"
)
for %%I in (*.txt) do copy /B "%HeaderFile%"+"%%I"+"%FooterFile%" "%%~nI.html" >nul
if defined DeleteHeaderFile del "%HeaderFile%"
if defined DeleteFooterFile del "%FooterFile%"
endlocal
用於解釋文件作爲二進制文件的COPY選項/B
防止在生成的HTML文件的末端附加控制字符substitute。
請注意,對於忽略具有隱藏屬性集的* .txt文件。
爲了解所使用的命令及其工作方式,請打開命令提示符窗口,在其中執行以下命令,並仔細閱讀爲每個命令顯示的所有幫助頁面。
copy /?
del /?
echo /?
endlocal /?
for /?
set /?
setlocal /?
請閱讀微軟有關Using Command Redirection Operators的文章。
將文本添加到(「靜態」,對嗎?)到'.txt'和'after.txt',並將它們與每個「數千個文件」合併。 – Stephan
您可以將頂部放在head.dat中,底部放在tail.dat中,'%for I放在(* .txt)中複製head.dat +「%I」+ tail.dat「%〜nI-fixed。 txt「或類似的。有關拷貝操作中'+'操作符的解釋,請參閱'copy /?'。 – rojo
謝謝rojo。在循環中忽略了「do」,但是在我補充說它工作的很好之後。謝謝! – Xiodrade