やっぱりコンピュータはメンドクセー!!
emacsのimage-diredを以前使った。久しぶりに使おうとしたら動かない。画像の変換にImageMagicを使っているが、呼べてないのか? PowerShellからpathを調べてみると、
~ > path | grep Image
C:\Program Files\ImageMagick-6.9.2-Q16~ >
pathに入っている。だが、パス内での位置が問題で、違うconvertコマンドが呼ばれる。
~ > which convert
C:\Windows\system32\convert.exe~ > convert /?
FAT ボリュームを NTFS に変換します。CONVERT ボリューム /FS:NTFS [/V] [/CvtArea:ファイル名] [/NoSecurity] [/X]
ボリューム ドライブ文字 (文字の後にはコロンを付ける)、マウント
ポイント、ボリューム名を指定します。
/FS:NTFS ボリュームを NTFS に変換することを指定します。
/V 詳細モードで変換することを指定します。
/CvtArea:ファイル名
NTFS システム ファイルのプレース ホルダーにするルート ディレク
トリの連続ファイルを指定します。
/NoSecurity 変換されたファイルとディレクトリのセキュリティ設定に、どの
ユーザーもアクセスが可能になるように指定します。
/X 必要であれば、最初にボリュームを強制的にマウント解除します。
ボリュームへの開いているハンドルはすべて無効になります。~ >
Windowsのシステムコマンドにconvertなんてのがあったわけだ、ガーン。で、ImageMagicをパスの先頭の方に移動したい。こういうときのためにPowerShellスクリプトを作ったはずだが、、、、
さんざん探して、あった。
- ~/configs/powershell/functions/envir_EnvironmentHandling.ps1
functions/ の下は自動的にsourceするようにするはずだったがやってない。手動でdot-sourceしよう。このなかの set-util_PathFromFile 関数を使う。1行に1ディレクトリずつ書いたファイルを引数に渡すと、PATH環境変数をセットする。Windowsのシステムディレクトリより先にするには設定先をmachineにする必要がある。
(get-util_Env path machine ) -split ';'
で出力した内容をエディタで編集したファイルを set-util_PathFromFile ファイル名
する。
プロセスは古い環境変数を持ち続けるので、emacsとシェルを終了して、新しいシェルから新しいemacsを起動しないと反映されない。