読者です 読者をやめる 読者になる 読者になる

やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

一括置換で環境変数をみる

Windows環境変数;で複数のパスが連結している。 見やすくするためにテキストエディタの一括置換を使っている話。

環境変数

1
2
3
4

  1. 変数値のテキストボックスの値が選択された状態になっている。
  2. Ctrl+Cキー押下でコピペする

全選択

  • キャレット移動

    • Homeキーを押下すると、先頭に移動できる
    • Endキーを押下すると、末尾に移動できる
  • 全選択

    • Ctrl+Aでは全選択できない
    • HomeまたはEndキー+Shiftキーを同時に押下すれば、全選択できる
    • マウスで右クリックでもすればできる。

1

テキストエディタ

一括置換ができるテキストエディタなら何でもいい。 ふつうのテキストエディタならできる。 ここでは秀丸を使う。

一括置換

改行

1行ずつ表示する

  1. テキストエディタ環境変数の値をペーストする
    1
  2. Ctrl+Rキー押下して置換ダイアログを表示する
  3. 検索;を入力する
  4. 置換\nを入力する
  5. 正規表現にチェックする
  6. 全置換ボタンを押下する 2
  7. n個の置換を行いました。とダイアログ表示される 3
  8. 以下のように改行された環境変数が表示される 4

これで1行ずつ入力できる

;連結にもどす

さきほどの置換の逆をやればいい。

  1. Ctrl+Rキー押下して置換ダイアログを表示する
  2. 検索;を入力する
  3. 置換\nを入力する
  4. 正規表現にチェックする
  5. 全置換ボタンを押下する 1
  6. 以下のように;で連結された環境変数が表示される 2

ペーストする

テキストエディタからコピーして、環境変数にペーストする。

1

区切り文字

\/にする

おなじく一括置換する。

1
2
3
4

/\にする

1
2

円記号問題

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と同様/で統一したほうが幸せだと思うのだが。

円マークという記号自体がみづらい。パスの区切り文字の分際で画数が多いから視覚的に邪魔。

また、環境によっては\はエスケープ文字になってしまう。\\のようにせねば消えてしまう。 プログラミングにおいて文字列としてパスを扱うときに生じる問題。

\文字には良い思い出がない。/に統一してほしい。

所感

調べると色々気になってきてしまった。

少し脱線して環境変数のことを調べてみる。