新しいPCに移行中なんですが、以前から気になっていたことがやっぱりスゴク気になる。それは、ユーザーのホームディレクトリの問題です。
Windowsもホームディレクトリの概念があって、環境変数USERPROFILEにホームディレクトリのパスがセットされます。HOMEDRIVEとHOMEPATHにも同じ情報が入っています。(ただし、MSYSのbashはなぜかHOMEPATHを「\」に書き換えてしまいます。)
- %USERPROFILE% = %HOMEDRIVE%%HOMEPATH%
さて、僕が使う多くのコマンドやツールが環境変数HOMEを参照します。HOMEとUSERPROFILEを一致させれば話は簡単ですが、Windowsのホームには最初から色んなファイル/フォルダーがゴチャゴチャあるし、異常に長い名前のファイルが置いてあったりします。例えば:
- NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TMContainer00000000000000000001.regtrans-ms
僕は、このグチャグチャした感じがイヤで、set HOME=%USERPROFILE%\Work としていました。そして、バックアップが必要なファイルはすべて %USERPROFILE%\Work の下に置くように心がけていました。
しかし、すべてのプログラムが環境変数HOMEを読んでくれるわけではないので、設定ファイルやアプリケーションデータの一部は %USERPROFILE% の直下に配置されます。結局、%HOME% = %USERPROFILE%\Work にファイルを集中させることができないのですよね。
それで今回は、set HOME=%USERPROFILE% にしてみたのですが、lsすると、NTUSER.DAT{6cced2f1-6e01-11de-8bed-001e0bcd1824}.TMContainer00000000000000000002.regtrans-ms が出てきたりして、もうウンザリ。Unix由来のツールは、ドットで始まる名前のファイルは無視してくれますが、Windowsのhidden属性/system属性を見てくれないので、見たくもないファイルが見えてしまい気分が悪いです。
Windowsのファイルシステムを認識するツールもあるけど、全部が全部そうはいかないので、やっぱり、Windowsホームとは別なホームを用意したほうがいいのかなぁ。%HOME% = %USERPROFILE%\Work 方式だと、パス名が長くなるのも嫌だったんですよね。いっそ、C:\hiyama を環境変数HOMEに指定するとか。