Windowsの環境変数は;
で複数のパスが連結している。
見やすくするためにテキストエディタの一括置換を使っている話。
環境変数
- 変数値のテキストボックスの値が選択された状態になっている。
Ctrl
+C
キー押下でコピペする
全選択
キャレット移動
Home
キーを押下すると、先頭に移動できるEnd
キーを押下すると、末尾に移動できる
全選択
Ctrl
+A
では全選択できないHome
またはEnd
キー+Shift
キーを同時に押下すれば、全選択できる- マウスで右クリックでもすればできる。
テキストエディタ
一括置換ができるテキストエディタなら何でもいい。 ふつうのテキストエディタならできる。 ここでは秀丸を使う。
一括置換
改行
1行ずつ表示する
- テキストエディタに環境変数の値をペーストする
- Ctrl+Rキー押下して置換ダイアログを表示する
検索
に;
を入力する置換
に\n
を入力する正規表現
にチェックする全置換
ボタンを押下するn個の置換を行いました。
とダイアログ表示される- 以下のように改行された環境変数が表示される
これで1行ずつ入力できる
;
連結にもどす
さきほどの置換の逆をやればいい。
- Ctrl+Rキー押下して置換ダイアログを表示する
検索
に;
を入力する置換
に\n
を入力する正規表現
にチェックする全置換
ボタンを押下する- 以下のように
;
で連結された環境変数が表示される
ペーストする
区切り文字
\
を/
にする
おなじく一括置換する。
/
を\
にする
円記号問題
Windowsではパスの区切り文字に\
(円マーク。バックスラッシュ。0x005C)が使われている。
円マークだったりバックスラッシュだったりするのは「円記号問題」と呼ばれている。
https://ja.wikipedia.org/wiki/%E5%86%86%E8%A8%98%E5%8F%B7
実際はMicrosoftが以下のような特殊な処置をしているらしい。
日本の円記号はUnicodeのバックスラッシュ (U+005C) に変換される。
Microsoft Windows等のマイクロソフト製のOSでは付属の日本語用のフォントの005Cを円記号に表示するようにすることで表面上問題が起きないようにした。
多くの日本語JISキーボードでは円記号とバックスラッシュのキーが別々に存在しているが、どちらを入力しても005Cが入力されるようになっている。
実際、Windows上では円マークだが、はてなブログにコピペするとバックスラッシュで表示される。 文字コードとしてはバックスラッシュのコードが使われているのだろう。 でも、日本語版のWindowsOSでは円マークで表示するようにしていると。
ややこしい。文字コード絡みの問題はこんなところにまで波及していたのか。
そうまでして\
記号にこだわる意味がわからない。
Unixと同様/
で統一したほうが幸せだと思うのだが。
円マークという記号自体がみづらい。パスの区切り文字の分際で画数が多いから視覚的に邪魔。
また、環境によっては\
はエスケープ文字になってしまう。\\
のようにせねば消えてしまう。
プログラミングにおいて文字列としてパスを扱うときに生じる問題。
\
文字には良い思い出がない。/
に統一してほしい。
所感
調べると色々気になってきてしまった。
少し脱線して環境変数のことを調べてみる。