環境変数

X-Finderでは、システムの環境変数の他に独自の環境変数をランチャの[パス]に記述して使用することができ、外部プログラムのコマンドラインで使用したり、X-Finderの設定自体を変更することが可能になっている。

システムの環境変数は、"システムのプロパティ"の"詳細設定"タブ内の"環境変数"から確認することができる。(WindowsXP sp2)

環境変数は両側を%で囲んで使用し、大文字小文字は区別はない。また、ランチャの[パス]内で書き換える操作("Input:"等)をしない限り、中身は変化しない。

X-Finder独自の環境変数は以下のとおり。使い方は活用例を参考に・・

読み取り専用の環境変数

外部プログラムをコマンドラインで利用するときなど、ランチャでパスの記述をする際に使用する。

X-Finderのインストールされたフォルダのパスを展開する。

X-Finder(xf.exe)が

C:\Program Files\XF\xf.exe

のようなパスにインストールされているとき、%x-finder%は

C:\Program Files\XF

を展開する。

また、%x-finder%.. は

C:\Program Files

を展開する。

  • Current

現在アクティブなタブのパスを展開する。

    • 活用例→TabNameの項を参照
  • Other

現在アクティブな画面の反対側の画面のタブのパスを展開する。(1画面表示の場合でも反対画面として保持されているパスを展開する)

    • 活用例→Selectedの項を参照
  • Focused

フォーカスがあるアイテムのパスを展開する。(常に単一のパス)

    • 活用例
フォーカスされたファイルを壁紙にする
[パス]
Set:wallpaper=%Focused%
[動作]
実行
  • Selected

選択されたアイテムのパスを展開する。(複数ある場合は「"パスA" "パスB"・・」というように""でくくられる)
また、選択アイテムがない場合はフォーカス位置のアイテムのパスを展開する。

    • 活用例
選択アイテムをFFCで反対画面にコピー
[パス]
FFC.exe %selected% /to:"%other%" /copy
[動作]
実行
  • CurrentSelected

現在アクティブなタブの選択アイテムのパスを取得する。
Selectedが複数のタブの選択アイテムを対象とするのに対し、CurrentSelectedは1つのタブ(アクティブなタブ)の選択アイテムのみを対象とする。
また、選択アイテムがない場合は中身は空となる。

  • InputData

"Input:"コマンドを実行して入力した値を展開する。

    • 活用例
サムネイルサイズを指定する(縦横等幅)
[パス]
Input:"サムネイルサイズ","縦横等幅でサムネイルサイズを指定","(48以上を入力)",""
Set:ImageSize=%inputdata%,%inputdata%
[動作]
実行
  • DateTime:日付時刻形式文字列

システムの日付や時刻の値を展開する。文字列の対応は以下のとおり。

yyyy 年4桁
yy 年2桁
mm 月2桁
dd 日2桁
ddd 曜日(省略形)
dddd 曜日
ddddd 年/月/日
dddddd 日付
H 時
H:mm 時分
H:mm:ss 時分秒
tt 時分秒

現在の日付と時刻が「2005年10月21日金曜日12:34:56」だとすると、
%DateTime:yyyymmdd%→「20051021」
%DateTime:mmdd%%DateTime:ddd%→「1021金」
%DateTime:dddddd%→「2005年10月21日」
%DateTime:ddddd tt%→2005/10/21 12:34:56
Set:address=%DateTime:dddddd dddd tt%→「2005年10月21日 金曜日 12:34:56」
となる。

    • 活用例
今日の日付をデフォルトの名前にしてフォルダを作成
[パス]
NewFolder:%DateTime:dddddd%
[動作]
実行
  • Attrib

フォーカスされたアイテムの属性を展開する。("-R -A -S -H"等)
"attrib"コマンドを併用してアイテムの属性を変更するときなどに使われる。

    • 活用例
フォーカス位置のアイテムの属性を変更する
[パス]
Input:"属性の変更","%Focused% の属性を変更","%Attrib%(R:読専 A:アーカイブ S:システム H:隠 <+:有効 -:無効>)","%Attrib%"
SW:0:Attrib %InputData% "%Focused%"
[動作]
実行
  • ComSpec

現在のタブで開いているフォルダをコマンドプロンプトで開くためのパスを展開する。

    • 活用例
現在のタブのフォルダをコマンドプロンプトで開く
[パス]
%ComSpec%
[動作]
実行
  • Variable

"Foreach:"コマンドと組み合わせて使用する。
"Foreach:"以下に記述されたパスを実行する際、選択項目を1つずつ"focused"のように渡す。

    • 活用例
選択している項目の属性を変更する
[パス]
Input:"属性の変更 - X-Finder","%Focused%","%Attrib%","%Attrib%"
Foreach:SW:0:attrib %InputData% %Variable%
Refresh:2
[動作]
実行
  • InstallDrive

X-Finderをインストールしたドライブのパスを展開する。
X-FinderUSBメモリなどに入れて持ち運ぶ際、他のソフトがX-Finder以下のディレクトリになく、より上位の階層にあるときに活用できる。

    • 活用例
D:\bin\xf\xf.exe
D:\ffc\FFC.exe

↑のようなディレクトリ構成のとき、FFCを実行するパスは以下のようになる。

%InstallDrive%\ffc\FFC.exe
  • FocusedName

フォーカスされたファイルの拡張子を除いたファイル名を展開する。
ファイル名の編集を行なうランチャやファイル名を用いて作業を行なうランチャで活用できる。

    • 活用例
ファイル名でGoogle検索
[パス]
Set:URLEncode=UTF-8
http://www.google.co.jp/search?num=100&hl=ja&lr=lang_ja&q=%FocusedName%
[動作]
実行
  • FileContents

フォーカスされたファイルの内容を展開する。
単純に定型文を呼び出すだけでなく、「X-Finderのコマンドを記述しておいたファイルの中身を展開し、コマンドを実行する」といったことも可能。

  • SendTo

explorerの右クリックメニューの「送る」のフォルダを展開する。
以下はexplorerの右クリックメニューの「送る」と同じ動作を実現するランチャ。

「送る」メニューにアイテムを送る
[パス]
ChooseFolder: "%Sendto%" *.lnk
%InputData%
[動作]
送る
  • sysdir

システムのディレクトリを展開する。

  • システムで設定しているフォントを読み出す環境変数

フォントを指定する際に使用する。

    • System:IconFont・・・アイコンのキャプション等で使用するフォント
    • System:CaptionFont・・・タイトルバー等で使用するフォント
    • System:SmCaptionFont・・・ツールバー等で使用するフォント
    • System:MenuFont・・・メニュー等で使用するフォント
    • System:StatusFont・・・ステータスバー・ツールチップ等で使用するフォント
    • System:MessageFont・・・メッセージボックス等で使用するフォント
  • Clipboard1

クリップボードの内容を1行にまとめて出力する。
クリップボードに改行が含まれていても改行が半角スペースに置換されて展開されます。

書き込み専用の環境変数

タブごとの設定などを指定する際に使用する。書き込み専用なので、"Set:環境変数=〜"と記述される。フォルダ設定に追記してタブの表示状態やフォルダの表示方法などを指定するといった用途で活用されることが多いと思う。

  • ActiveTabColor

アクティブなタブの背景色を指定する際に使用する。

    • 活用例
アクティブなタブの背景色を上側白のグラデーションに、ラインを赤にする
[パス]
Set:ActiveTabColor=clRed,clWhite,clNone,clNone
[動作]
実行
  • AllTabColor

全てのタブの背景色を指定する際に使用する。

  • TabName

タブの表示名を指定する際に使用する。

    • 活用例
タブの表示名をフルパスにする
[パス]
Set:TabName=%Current%
[動作]
実行
  • View

タブで表示するフォルダの表示方法(読み込み方)を指定する際に使用する。
対応は以下のとおり。

Set:View=0・・・標準
Set:View=1・・・エクスプローラ互換
Set:View=2・・・標準(通常フォルダはAPIを使用して読み込む)
Set:View=3・・・エクスプローラ互換(グループで表示)
Set:View=4・・・詳細ツリー
Set:View=5・・・タスクを表示
Set:View=7・・・タスクを表示(グループで表示)
Set:View=-1・・・標準/エクスプローラ互換の切り替え
Set:View=-2・・・API/グループの切り替え
Set:View=-4・・・詳細ツリー/タスクの切り替え

また、以下のように文字列で指定することも可能。こちらは文字列の前に"~"を付けると切替、"+"で追加、"-"で削除の指定ができる。

i・・・エクスプローラ互換
u・・・API/グループ
r・・・詳細ツリー/タスク
t・・・タブ内ツリー

  • 活用例
    • Set:View=~i・・・標準/エクスプローラ互換の切り替え
    • Set:View=+t・・・タブ内ツリーの表示
    • Set:View=+i-u+r・・・タスクを表示
  • Security

Webブラウザとして使用する際やhtmlのプレビューを行う際、タブごとにセキュリティの設定をするために使用する。
フォルダ設定に追記して特定のページのセキュリティ設定を自動で切り替える等の活用が可能。
対応は以下のとおり。

s・・・スクリプトの実行を許可
j・・・javaの実行を許可
x・・・ActiveXの実行を許可
d・・・ActiveXのダウンロードを許可
p・・・画像のダウンロードを許可
m・・・サウンドの再生を許可
v・・・ビデオの再生を許可

    • 活用例
画像のダウンロードのみ許可する
[パス]
Set:Security=p
[動作]
実行
  • Wallpaper

現在のタブの壁紙を指定するために使用する。

    • 活用例
フォーカス位置のファイルを壁紙にする
[パス]
Set:Wallpaper=%focused%
[動作]
実行
  • WindowPosition

ウインドウの左上の点の座標を指定するのに使用する。後述の"WindowSize"と組み合わせて使用する。
(座標は画面の左上の端が"0,0"、右下にいくにつれ値が増える)

  • WindowSize

ウインドウの表示サイズを指定するのに使用する。
(値は画面の左上の端が"0,0"、右下にいくにつれ値が増える)

    • 活用例
XFのウインドウを画面の右半分に表示する(SXGAの解像度の場合)
[パス]
Set:WindowPosition=640,0
Set:WindowSize=640,998
[動作]
実行

読み書き両用の環境変数

文字列を格納し、逆に引き出すこともできる。後述する独自追加設定した環境変数もこの特性を持つ。

  • Address

アドレスバーに表示されている文字列。"Set:〜"でアドレスバーの表示を変更したり、アドレスバーに入力した文字列を参照するのに使用する。

    • 活用例
アドレスバーに日付と時間を表示する
[パス]
Set:Address=%DateTime:dddddd%%DateTime:dddd%%DateTime:H:mm:ss%
[動作]
実行
アドレスバーの文字列で表示フォルダを検索する
[パス]
Open: *"%Address%"*
[動作]
実行
  • ClipBoard

クリップボードにコピーされている文字列。"Set:〜"でクリップボードに任意の文字列を格納したり、クリップボードにコピーした文字列を参照するのに使用する。

ファイルやフォルダがコピーされている場合はそのファイルリストを展開する

    • 活用例
クリップボードに"IDとパスワード"をコピー
[パス]
Set:ClipBoard=IDとパスワード
[動作]
実行
選択した文字列でgoogle検索する(ブラウザ、テキスト編集時用)
[パス]
Exec:Copy
Set:URLEncode=UTF-8
http://www.google.co.jp/search?num=100&hl=ja&lr=lang_ja&q=%ClipBoard%
[動作]
実行
  • TimeStamp:日付時刻形式文字列

アイテムの最終更新日時。読み込むときはフォーカス位置のアイテムのものを取得し、書き込むときはアイテムを指定する。

Set:TimeStamp="日付 時刻" 対象アイテムのパス
で対象アイテムの更新日時を変更することができる。

    • 活用例
フォーカス位置のアイテムの更新日時をクリップボードにコピー
[パス]
Set:ClipBoard=%TimeStamp:ddddd tt%
[動作]
実行
フォーカス位置のアイテムの更新日時を現在の日付・時刻に変更する
[パス]
Set:TimeStamp="%DateTime:ddddd tt%" %Focused%
[動作]
実行
選択アイテムの更新日時を変更する
[パス]
Input:"更新日時の変更","選択アイテムの更新日時を変更","フォーカス位置の更新日時→%TimeStamp:ddddd tt%","%TimeStamp:ddddd tt%"
Set:TimeStamp="%InputData%" %Selected%
[動作]
実行
  • TabColor

タブの背景色を指定、又は読み出す際に使用する。

    • 活用例
現在のタブの背景色を黒にする
[パス]
Set:TabColor=clBlack
[動作]
実行
現在のタブの背景色を全てのタブに適用する
[パス]
Set:AllTabColor=%TabColor%
[動作]
実行

プレビューの状態を把握する、あるいは変更するために使用する。

値の対応は以下のとおり。

Set:Preview=4・・・別ウインドウでのプレビューON
Set:Preview=2・・・分割画面でのプレビューON
Set:Preview=3・・・分割画面でのプレビューでのプレビュー固定ON
Set:Preview=0・・・別ウインドウでのプレビュー、分割画面でのプレビュー及びプレビュー固定OFF
Set:Preview=-4・・・別ウインドウでのプレビューのONとOFF切替
Set:Preview=-2・・・分割画面でのプレビューのONとOFF切替
Set:Preview=-1・・・分割画面でのプレビューの固定のONとOFF切替

  • ViewMode

表示形式の状態を把握する、あるいは変更する際に使用する。

    • "Set:ViewMode=〜"は"ViewStyle:〜"と同じ動作となる
  • SortMode

ソート状態を把握する、あるいは変更する際に使用する。

    • "Set:SortMode=〜"は"Sort:〜"と同じ動作となる
  • Split

画面分割の状態を把握する、あるいは変更する際に使用する。

    • 0・・・分割なし
    • 1・・・左右分割
    • 3・・・上下分割
    • Set:Split=-1・・・分割/非分割の切替
    • Set:Split=-2・・・左右/上下分割の切替
    • Set:Split=-4・・・分割画面同士でのタブの入替(非分割時には動作しない)
  • SplitRatio

画面分割の比率を把握する、あるいは変更する際に使用する。

  • Columns

現在のカラムの状態を書き出す、あるいは変更する際に使用する。