このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

やっぱりコンピュータはメンドクセー!!

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を起動しないと反映されない。