この envvar を設定した直後に実行されるアプリケーションで、環境変数 (バッチ ファイルで設定) を表示するにはどうすればよいですか?
私が使用するシナリオは次のとおりです。
私の外部スクリプト (ここではそれほど重要ではありません) では、jpg ファイルへの Windows ショートカットを作成します。ターゲットは次のようになります。
%MYPHOTOSDRIVE%:\private\photos\photo001.jpg
%MYPHOTODRIVE% には現在のドライブ文字のみを含める必要があります。
次の BAT スクリプトを使用して IrfanView を起動します (スクリプトはすべての .lnk ファイルと同じディレクトリにあります)。
set MYPHOTOSDRIVE=%cd:~0,2% "c:\Program Files\IrfanView\i_view32.exe" "i:\private\photolinks\photo001.lnk" "c:\Program Files\IrfanView\i_view32.exe" /slideshow="%cd%"
問題は、単一の画像もスライドショー(IrfanView への 2 回目の呼び出し)も適切に実行されないことです。
この「MYPHOTODRIVE」変数は、Irfan 実行時に適切な値に拡張されるべきではないでしょうか? 親スクリプトと同じ環境を取得しませんか?
答え1
問題は、IrfanView に環境変数を渡していないことです。例:
C:\> i_view32.exe %%myphotosdrive%%:\private\photos\photo001.jpg
あなたはそれを渡しています.LNK
ファイル (バイナリ)。IrfanView はショートカット ファイルを解釈する方法を知らず、グラフィック ファイルなどのみを処理します。
一番いいのはリクエストIrfan がショートカット ファイルを解決する機能を追加すること (彼は非常に反応が良く、サポートに関する質問や機能のリクエストの処理が得意です)。