バッチでHTMLを操作しています。遅延拡張を使用していますが、二重引用符でセミコロンが見つかった場合、スクリプトはセミコロンを含めて何もコピーしません。enableDelayedExpansionを使用してバッチファイル内のセミコロンを引用符で囲むことはできません
それはおそらく私が(私はラベルで分離されたものを維持するを必要)putLineInHTMLFile
ラベルに変数を渡すとき、私は二重引用符を使用するという事実によるものです。
@echo off
setlocal enableDelayedExpansion
del output.html
for /f "delims=" %%x in (file.html) do call :putLineInHTMLFile "%%x"
goto :EOF
:putLineInHTMLFile
set "line=%~1"
echo !line!>> output.html
file.htmlは含まれています
<tag1>
<tag"bla;2">
スクリプトを実行した後、output.htmlは含まれています。私が試した
<tag1>
<tag"bla
^^ ^かとセミコロンをエスケープ。うまくいきませんでした。私も二重引用符をエスケープしようとしました。それはどちらもうまくいかなかった。
file.html
の内容を変更することができます。とにかく、そのセミコロンを出力ファイルに含めることができます。
私はフッターとヘッダーを含む2つの他のHTMLファイルを含む複数の他のソースからHTMLファイルを構築しています。セミコロンから逃れることはできますか?フッターとヘッダーの「HTML」ファイルは、実際にはHTMLではないので変更できます。それらは私が望むように私が操作できるテキストです。 – Axonn