バッチファイルの中で%自体を使う方法
バッチファイルの中で”%”を表現したかったら”%%”と書くと良いですよ。というお話です。 バッチファイル。今でもたまに書きますよね。先日ちょっとだけハマったポイントがあったのでご紹介です。 SharePointで発行しているRSSをファイルとして配置したいという状況があり、簡単にやっつけたかったのでwgetで取得するコードをバッチファイルに書きました。以下のような感じです。 C:\Program Files\GnuWin32\bin>wget –output-document=e:\rss\sprss.xml “http:// sharepoint/sites/_layouts/15/listfeed.aspx?List=%7BF71E0F55-986D-4 CC0-97DA-2037A6243AF2D” wgetはunix系でよく使われる、コマンドラインでHTTPをお喋りしてリソースを取ってきてくれる便利コマンドです。 - [GNU Wget](http://www.gnu.org/software/wget/) 普通にコマンドプロンプトから実行したら成功するのに、バッチファイルから実行すると失敗してしまいました。調べてみると原因はURLに含まれている”%”でした。 バッチファイルの中では%というのは以下のように引数を表したりなど特殊な意味を持つのです。 - [Hey, Scripting Guy! スクリプトから起動するバッチ ファイルに複数のコマンド ライン引数を渡す方法はありますか](http://gallery.technet.microsoft.com/scriptcenter/b37357c4-4df0-4bbc-a814-59cdcddf5816) なので、バッチファイルの中で「%」自体を表す表現方法を見つけないといけなかったのですが…なかなか見つかりませんでした。で、適当に「%%」と書いてみたらうまく動いちゃいました。他のプログラム言語等でもよくあるパターンなのでこれでよいのだろうと判断しています。