start
URL にアンパサンドを含む Web ページを開くコマンドを使用するために、バッチ ファイルで (または Windows コマンド ラインから) アンパサンドをエスケープするにはどうすればよいですか?
二重引用符はstart
;では機能しません。これにより、代わりに新しいコマンドライン ウィンドウが開始されます。
更新 1 : Wael Dalloul のソリューションが機能します。さらに、URL に URL エンコードされた文字 (たとえば、スペースは %20 としてエンコードされる) があり、それがバッチ ファイル内にある場合、'%' は '%%' としてエンコードされる必要があります。この例ではそうではありません。
コマンドラインからの例 ( CMD.EXE
):
start http://www.google.com/search?client=opera&rls=en&q=escape+ampersand&sourceid=opera&ie=utf-8&oe=utf-8
結果として
http://www.google.com/search?client=opera
デフォルトのブラウザで開かれ、コマンド ライン ウィンドウに次のエラーが表示されます。
'rls' is not recognized as an internal or external command,
operable program or batch file.
'q' is not recognized as an internal or external command,
operable program or batch file.
'sourceid' is not recognized as an internal or external command,
operable program or batch file.
'ie' is not recognized as an internal or external command,
operable program or batch file.
'oe' is not recognized as an internal or external command,
operable program or batch file.
プラットフォーム: Windows XP 64 ビット SP2。