2011-10-29 15 views
1

これは、私が怠け者になっているため、異なるファイルでWeb文書の階層を生成することになっています。バッチを使ってhtmlを生成するエスケープ引用符

@echo off 
echo. 
echo This program will generate the base folder for a new website .. . 
pause 
md folders 
echo > folders/default.html "<html> /* More content */ </html>" 
echo > folders/style.css " /* All the standards i always use */ " 
echo > folders/javascript.js " /* All the standards i always use */ " 
echo. 
exit 

また、動作しますが、問題は、私は/削除引用符をエスケープし、それはしかしヒステリックな瞬間を与えることはできません、です。

私は多くの異なったことを試みました。エコーをタイプで変更すると、私はwwwなどで見つけることができるさまざまなエスケープオプションを試しましたが、引用符はまだそこにあります。

答えて

8

あなたはすべてのCMD予約文字キャレット^>|^()<&をエスケープする必要があります。彼らは内部にある場合

コメント

  1. のカップルが予約文字をエスケープしていない、彼らはIFまたは別の括弧またはFOR内でない場合
  2. をエスケープする必要があります(と)していない引用ブロック。

より完全な例は

echo ^<!DOCTYPE HTML PUBLIC^> >index.html 
echo ^<html^> >>index.html 
echo ^<!-- more content --^> >>index.html 
echo ^<!-- you don't need to escape () outside blocks --^> >>index.html 
echo ^<!-- don't escape inside quotes "&" --^> >>index.html 
echo ^</html^> >>index.html 
です
関連する問題