View on GitHub

AFXW

AFXWの演習

内部命令

AFXWCFG.TXTより抜粋

    コマンドラインの指定には以下の置換マクロが指定出来ます。

      $$  .....  $ を表します。

      $F  .....  カーソル位置のファイル名。
      $W  .....  カーソル位置の拡張子を除いたファイル名。
      $E  .....  カーソル位置のファイル名の拡張子。

      $P  .....  自ファイル窓のパス名。(末尾に \ は付きません)
      $O  .....  他ファイル窓   〃   。(         〃          )
      $L  .....  左ファイル窓   〃   。(         〃          )
      $R  .....  右ファイル窓   〃   。(         〃          )

                   上記を $f $w $p $o $l $r のように小文字で記述すると
                   ショートファイルネームになります。
                   ショートファイルネームが得られなかった場合は
                   大文字で記述した時と同様の動作になります。

                   カーソルが ..(親フォルダ)を指している時
                   ファイル名は .(自フォルダ)を返します。

      $SP .....  自ファイル窓のソート状態。
      $SO .....  他ファイル窓     〃     。
      $SL .....  左ファイル窓     〃     。
      $SR .....  右ファイル窓     〃     。

      $MS .....  マークされたファイル名を並べます。(ファイル名のみ)
      $MF .....  マークされたファイル名を並べます。      (フルパス)
                 上記2つはマークがない場合、カーソル位置のファイル
                 1つを対象とします。
      $MO .....  他方のマークされたファイル名を並べます。(フルパス)
                 他方にマークがない場合…
                   ・$ の次の M を大文字で記述した時($MO)は
                     コマンド自体がキャンセルになります。
                   ・$ の次の m を小文字で記述した時($mO)は
                     ヌル文字に置き換わります。
      $ML .....  左ファイル窓のマークされたファイル名を並べます。
      $MR .....  右ファイル窓のマークされたファイル名を並べます。
                 上記2つは $MO の動作にほぼ準じます。

                 マークファイル名はそれぞれダブルクォートで括られます。
                 括りたくない場合は $QN の説明を参照してください。

                 上記を $Mf $Ms $Mo $Ml $Mr のように M の次の文字を
                 小文字で記述すると、ショートファイルネームになります。
                 その場合はダブルクォートで括られません。

                 仮想フォルダ内で $M? を使用した場合、それぞれの
                 実体は生成されませんので各ファイル自体は扱えません。
                 また $MF, $MO, $ML, $MR もファイル名のみを返します。

      $*P .....  自ファイル窓のマスク文字列。
      $*O .....  他ファイル窓      〃      。
      $*L .....  左ファイル窓      〃      。
      $*R .....  右ファイル窓      〃      。

      $I?"mes"
          .....  入力ボックスを開きます。
                   ? ..... 入力ボックスの幅を指定します。
                           1桁の数字で x100 pixel です。(0 = 10)
                           省略可能で、その場合は 4 となります。
                   mes ... 入力ボックスのタイトルを指定します。

      $IT"text"
          .....  入力ボックスに予め表示される内容を指定します。

       例)
          notepad "$I5"編集テキストファイル名""
          cmd /c copy $IT"$P\$F""$I"コピーするファイル"" $IT"""$I3"どこへ""

           上記の下の例では入力ボックスが2回開きます。
           入力ボックスをキャンセル、又は何も入力しなかった場合は
           コマンド自体がキャンセルとなります。

      $MN"file"
          .....  内部命令 &MENU と同じメニューを表示して、メニューから
                 選択した文字列に置き換わります。
                 メニューファイルについては &MENU の解説を御覧ください。

      $MT"title"
          .....  $MN で表示するメニュータイトルを指定します。
                 メニュー定義ファイルに記されているタイトルよりも
                 こちらが優先されます。

      $MP"file"
          .....  内部命令 &PMENU と同じポップアップメニューを表示して、
                 メニューから選択した文字列に置き換わります。
                 メニューファイルについては &PMENU の解説を御覧ください。

      $V"env"
          .....  実行時点での環境変数 env に置き換えられます。

                 環境変数部分に全部小文字で afx もしくは afxw と指定すると
                 【あふw】の起動パスを得る事が出来ます。(末尾 \ 無し)
                 この場合1文字でも大文字が混じった場合は、それぞれ
                 環境変数 AFX AFXW の内容に置き換えられます。

      $~  .....  $V"afxw" と同じです。

      $#??
          .....  ?? の部分に16進数の数字を記述して、そのまま ASCII 文字
                 コードとして置き換えられます。
                 数字部分は必ず2桁で指定する必要があります。

      $0 ~ $9
          .....  変数(0~9)に入っている文字列に置き換えられます。
                 代入は内部命令 &SET で行います。

      $"  .....  ダブルクォート文字自体に置き換えられます。

    以下は各種制御用の置換マクロです。これら自体は文字列として何にも
    置き換えられません。コマンドライン上では何も無いものとして扱われます。
    (上の $IT と $MT も同様)

      $K  .....  記述した位置にキャレットをセットしてキー入力ウインドウを
                 開きます。
                 また $IT 内で使用して、入力ボックスのキャレット制御として
                 使用出来ます。
                 更に $k と小文字で記述した置換マクロを置くと、$k と $K に
                 挟まれた間の文字を選択状態にします。

                   基本的に $K 側にキャレットを置きますが、選択範囲が
                   256bytes を超えた場合は無条件で後方にキャレットを置きます。

      $N  .....  各コマンド実行後にファイル窓のカーソルを下げません。
      $D  .....  各コマンド実行後にファイル窓のカーソルを下げます。

      $CP .....  各コマンド実行後に自ファイル窓のマークをクリアします。
      $CO .....         〃         他ファイル窓           〃         。
      $CL .....         〃         左ファイル窓           〃         。
      $CR .....         〃         右ファイル窓           〃         。
      $CA .....         〃         両ファイル窓           〃         。

      $J? .....  マーク展開マクロでマークファイルを並べる際の
                 区切り文字や、マスク文字マクロの区切り文字を
                 $J に続けて1文字指定します。
                 マーク展開マクロ・マスク文字マクロよりも前であれば
                 どこに記述しても構いません。
                    例:$J+$MS → "file1"+"file2"+"file3"
                        $J;$MS → "file1";"file2";"file3"
                 特に指定しなかった場合はスペース区切りとなります。

                 また指定された文字によっては、下記のコントロール文字が
                 代わりに適用されます。(マーク展開マクロ時のみ)
                     D ...  DOS 改行(0Dh0Ah)
                     U ... UNIX 改行(0Ah)
                     M ...  MAC 改行(0Dh)
                     T ...  タブ文字(09h)

      $QN .....  マーク展開マクロより前に記述すると各ファイル名が
                 ダブルクォートで括られなくなります。
      $QS .....  マーク展開マクロより前に記述すると各ファイル名が
                 シングルクォートで括られるようになります。
      $QD .....  マーク展開マクロより前に記述すると各ファイル名が
                 ダブルクォートで括られるようになります。(デフォルト)

      $X  .....  コンテキストメニューを出すべきX座標。
                 大文字で記述すると内部コンテキストメニューと同じく
                 マークが無い時は左端、マークがある時は左端よりも
                 若干右寄りで、小文字で記述すると常に左端となります。

      $Y  .....  コンテキストメニューを出すべきY座標。

    拡張子判別実行の動作指定の部分に以下の内部命令を記述する事によって
    各機能を使用出来ます。

      &NOP               .....  何もしません。

      &RELOAD (param)    .....  (param) で指定したファイル窓を再読込します。
                                (param) は続けて複数記述出来ます。大文字で
                                記述するとマーククリア、小文字で記述すると
                                マークを保持します。
                                (param) を省略すると P が指定された事に
                                なります。
                                  P : 自ファイル窓
                                  O : 他ファイル窓
                                  L : 左ファイル窓
                                  R : 右ファイル窓

      &EXEC (file)       .....  シェル(Explorer)の関連付けの設定に
                                従って (file) を実行します。
                                (file) を省略すると対象はカーソル位置の
                                ファイル名になります。
                                また、自ファイル窓のパスをカレントフォルダ
                                として設定する事なくファイルを実行する目的
                                にも有効です。

      &OPEN (param)      .....  シェル(Explorer)の関連付けの設定に
                                従って (param) を開きます。
                                (param) を省略すると対象はカーソル位置の
                                ファイル名になります。

      &CLOSE [file]      .....  [file](フルパスファイル名)で起動された
                                トップレベルウィンドウを閉じます。
                                (≒終了させます)
                                複数起動されていた場合は最初に発見した
                                ウインドウを閉じます。

      &WAVPLAY           .....  音ファイル(*.WAV)を再生します。
                                再生可能ファイルサイズ上限は 32MB です。
      &WAVSTOP           .....  WAV の再生を停止します。

      &CONTEXT (file)    .....  (file) のコンテキストメニューを表示します。
                                ( = エクスプローラの右クリックメニュー)
                                何も指定しない場合、マークがある場合は
                                マークファイルの、マークが無い場合は
                                カーソル位置のファイルのコンテキスト
                                メニューを表示します。
                                ただしカーソルが『..』(親フォルダ)を
                                指している場合は、現在表示しているパスの
                                コンテキストメニューを表示します。

      &EXTRACT (-R)      .....  統合アーカイバプロジェクトの DLL を使用して
                                書庫を展開します。
                                後ろに引数 -R を指定すると、各種設定1の
                                『書庫展開はフォルダを作成してその中へ』設定と
                                逆の動作になります。

      &V_ARC             .....  統合アーカイバプロジェクトの DLL を使用して
                                書庫を仮想フォルダとして表示します。

      &SUSIE [Plug-in]   .....  Susie Plug-in を使用して内部で画像を表示
                                します。

                                通常は対応拡張子のものは自動的に拡張子判別で
                                表示されるようになっていますので設定する
                                必要はありません。

                                同じ拡張子の対応プラグインが複数ある場合に
                                プラグイン名を指定した場合、そのプラグインを
                                優先的に使用して展開を試みます。

                                プラグインが持っている拡張子情報以外の
                                ものを表示する場合にも使用します。
                                    例) RLE       &SUSIE IFBMP.SPI

      &S_ARC [Plug-in]   .....  Susie Plug-in を使用して書庫を仮想フォルダと
                                して表示します。

                [Plug-in] は『ファイル名のみ』を指定します。
                 Plug-in のパスは『プログラム(6)』で指定した
               『Susie Plug-in が存在するフォルダ』を検索します。

      &CD [path]         .....  表示パスを [path] に変更します。
                                [path] は下記の方法でカレント移動する場合
                                以外はフルパスで記述します。
                                『&CD C:』『&CD D:』 等ドライブ名のみ
                                記述した場合は、そのドライブのカレント
                                フォルダに変更します。

      &EXCD [parameter]  .....  表示パスを [parameter] に従って変更します。
                                 -L"path" : 左ファイル窓のパス
                                 -R"path" : 右ファイル窓のパス
                                 -P"path" : 自ファイル窓のパス
                                 -O"path" : 他ファイル窓のパス

                                それぞれ『パス』の代わりに『フルパス
                                ファイル(フォルダ)名』を指定すると
                                そのファイル(フォルダ)が存在するパスに
                                変更した上でそのファイル(フォルダ)に
                                カーソルを合わせます。
                                (フォルダ名の場合は末尾に \ を付けない)

                                フォルダ指定時、そのフォルダにカーソルを
                                合わせるのではなく、そのフォルダ内を
                                表示したい場合はフォルダ名末尾に \ を必ず
                                付加するか、又はパラメータ文字を小文字で
                                指定してください。(-l -r -p -o)

                                同時にファイルマスクも指定出来ます。
                                 -*L"*.*" : 左ファイル窓のマスク
                                 -*R"*.*" : 右ファイル窓のマスク
                                 -*P"*.*" : 自ファイル窓のマスク
                                 -*O"*.*" : 他ファイル窓のマスク

                                同時にソート状態も指定出来ます。
                                指定する文字列は &SORT の [switch] と
                                同じです。
                                 -SL"F+" : 左ファイル窓のソート状態
                                 -SR"F+" : 右ファイル窓のソート状態
                                 -SP"F+" : 自ファイル窓のソート状態
                                 -SO"F+" : 他ファイル窓のソート状態

      &MASK [mask]       .....  ファイルマスクを [mask] に変更します。
                                    例) &MASK *.$E
                                        現在のカーソル位置の拡張子と
                                        同じファイル名のみ表示します。

      &MARK (switch) [mask]
                         .....  [mask] にマッチするファイル名のマークを
                                (switch) に従って操作します。
                                (switch) は下記のものをハイフンに続けて複数
                                記述出来ます。
                                  D : フォルダのみを対象
                                  F : ファイルのみを対象
                                  U : 該当するもののマークを解除する
                                  ! : 該当するもののマークを反転する

                                    例) &MARK -F! *.TXT

                                (switch) を省略すると、フォルダとファイル両方を
                                対象としてマッチしたものをマークします。

                                [mask] はワイルドカードに加えて、m/ で記述開始
                                する事により正規表現での指定が可能です。
                                (正規表現の使用は 要:bregonig.dll 2.x)

      &SORT [switch]     .....  [switch] に従ってソートを変更します。
                                [switch] は下記のものを複数続けて
                                記述出来ます。
                                タイプ・昇降順に関して指定されなかった
                                ものは現在の設定が継続されます。
                                  N : ソート無し
                                  F : ファイル名
                                  E : 拡張子
                                  S : サイズ         ( L でも可)
                                  T : タイムスタンプ ( D でも可)
                                  A : 属性
                                  X : ファイル名(番号)【WinXP以降のみ】
                                  + : 昇順
                                  - : 降順
                                  ! : 昇順降順トグル
                                  > : 次のソートタイプ
                                  < : 前のソートタイプ

      &CLIP [string]     .....  [string] をクリップボードに転送します。
                                    例) &CLIP $P\$F
                                        現在のカーソル位置のフルパス
                                        ファイル名をクリップボードに
                                        転送します。

      &MESCLIP           .....  メッセージ窓の内容を
                                クリップボードに転送します。

      &MESCLR            .....  メッセージ窓の内容をクリアします。

      &MAX               .....  【あふw】のウインドウを最大化/元に戻します。
      &MIN               .....  【あふw】のウインドウを最小化します。

      &PUSHD             .....  現在のファイル窓のパスをパススタックに
                                積みます。
      &POPD              .....  パススタックから1つパスを取り出して現在の
                                ファイル窓のパスにします。
                                  → スタックの0番目は特別扱いで
                                     常に1番目のスタックの複写を持ち
                                     スタックから外される事はありません。

      &SET (n) (string)  .....  n 番目の変数に文字列 (string) を入れます。
                                (n ← 0~9 の数字)
                                変数は置換マクロ $0~$9 で使用出来ます。

                                n だけを指定して (string) を指定しなかった
                                場合は n 番目の変数をクリアします。

                                &SET A と指定した場合は全変数をクリアします。

                                パラメータを一切与えず &SET のみで実行すると
                                変数一覧ウインドウを表示します。

      &COPYTO [path]     .....  [path] に複写します。
      &MOVETO [path]     .....  [path] に移動します。
      &MELTTO [path]     .....  [path] に展開します。
            上記3つは [path] に ! を指定すると直接入力になります。

      &COPYHIS           .....  フォルダ履歴から複写先を選択して複写します。
      &MOVEHIS           .....  フォルダ履歴から移動先を選択して移動します。

      &LDROPTO [file]    .....  マークファイル、又はカーソル位置のファイルを
                                [file] へ左 D&D します。
      &RDROPTO [file]    .....  マークファイル、又はカーソル位置のファイルを
                                [file] へ右 D&D します。
      &WDROPTO (-A) (file)
                         .....  マークファイル、又はカーソル位置のファイルを
                                (file)(フルパスファイル名)で起動された
                                トップレベルウィンドウへ擬似ドロップします。
                                複数起動されていた場合は最初に発見した
                                ウインドウへ擬似ドロップします。
                                SOLEDROP.DLL が利用可能であれば使用します。

                                (file) を省略すると、擬似ドロップが出来そうな
                                ウインドウ一覧から選択出来ます。

                                擬似ドロップ先選択ウインドウについては
                                AFxW.TXT の「擬似ドロップ先選択について」を
                                参照してください。

                                -A を指定すると、ドロップ先へフォーカスを
                                明示的に移します。

      &DIVIDE (num)      .....  ファイルを (num) の数に分割します。
                                (num) を省略した場合は入力ウインドウが
                                開きます。
                                (num) には、小物ツールのファイルの分割と
                                同じものが指定出来ます。
      &CONNECT (file)    .....  マークファイルを結合して (file) に
                                書き出します。
                                (file) を省略した場合は入力ウインドウが
                                開きます。
      &CCTO (switch) (path)
                         .....  集中複写を行います。
      &CMTO (switch) (path)
                         .....  集中移動を行います。
         上記2つは、(switch) に -J を指定すると相対パス名付きの
         集中複写(移動)となります。
         (switch) を省略した場合はファイル名のみの集中複写(移動)と
         なります。
         スイッチ -J に続けて、パス区切り文字の置換文字列を指定出来ます。
         置換文字列を省略した場合、置換文字は "_" となります。

         (path) には集中複写(移動)先のパスを指定します。
         (path) を省略した場合は他ファイル窓を集中複写(移動)先とします。
         (path) に相対パスを指定した場合は自ファイル窓のパスを基準とします。

      &VIEW (file)       .....  (file) を簡易内蔵テキストビュアで開きます。
      &EDIT (file)       .....  (file) をエディタで開きます。
      &PRPTY (file)      .....  (file) のプロパティを開きます。
            上記3つ は (file) が無指定の場合はカーソル位置のファイルが
            対象となります。

      &TOW               .....  他ファイル窓にカーソルを移します。

      &MKS_U             .....  上のマークにカーソルを合わせます。
      &MKS_D             .....  下のマークにカーソルを合わせます。

      &EJECT [drv]       .....  [drv] で指定した文字列の頭文字を
                                ドライブ名としてイジェクトを行います。
                                また [drv] の前に ! を記述すると
                                トレイ等が存在した場合はクローズします。

      &EACH (switch) [command]
                         .....  マークされたそれぞれのファイル上に
                                カーソルがあるものとして順次 [command] を
                                実行します。
                                1つ1つ実行終了を待ちます。
                                [command] に内部命令は使えません。
      &EACHNW (switch) [command]
                         .....  &EACH の終了待ち無し版です。

            &EACH系のスイッチは - から開始して LRPO の4つを指定出来ます。
            スイッチとコマンドの間は1バイトスペースを1つ入れてください。
            スイッチ無指定の場合、明示的に更新は行われません。
                P ... &EACH(NW)実行後、自ファイル窓を更新します。
                O ...       〃         他ファイル窓を    〃    。
                L ...       〃         左ファイル窓を    〃    。
                R ...       〃         右ファイル窓を    〃    。
            例)
               &EACH -O cmd.exe /c copy "$P\$F" "$O\"
                   → &EACHコマンド終了後、必ず他ファイル窓を更新します。
               &EACH -LR converter.exe "$P\$F"
                   → &EACHコマンド終了後、必ず両ファイル窓を更新します。

      &REGREN (switch) [ptn]
                         .....  [ptn] の正規表現(s/ と tr/ を指定可)に
                                従って改名を行います。
                                (要:bregonig.dll 2.x)
                                $ は $$ と記述する必要がある事に注意して
                                ください。
                                (switch) はハイフンに続けて記述します。
                                  D : 単純な確認ダイアログを出す
                                  X : 即改名する
                                  T : 試改名を行う(プレビューのみ)
                                  M : マークが無ければカーソル位置をマーク
                                      ( M のみ他の switch と併用可)

                                   例) &REGREN -DM tr/[AIUEO]/[あいうえお]/

                                M 以外の (switch) を省略した場合は、指定の
                                正規表現がセットされた拡張改名ウインドウを
                                表示します。

      &RELD_RD [prog]    .....  [prog] を実行した後、登録フォルダ定義を
                                読み込み直します。

      &VSPMV [pos]       .....  ファイル窓の境界区切り位置を移動します。
           pos : 0(左端) ~ 50(中央) ~ 100(右端)
                 C ... 中央へ。(テンキーの+や-と同じ)
                 P ... 自ファイル窓側を目いっぱい広げる。
                 O ... 他ファイル窓側を目いっぱい広げて、カーソルを
                       他ファイル窓へ。
                 L ... 右端に移動して、カーソルを左ファイル窓へ。
                 R ... 左端に移動して、カーソルを右ファイル窓へ。

           pos はスペース区切りで複数指定可能で、実行する毎に次の指定へと
           切り替わります。
           ただしこの場合『同じ位置を表すモノ』を2回以上指定は出来ません。

           又 P O L R は続けて 0~100 の数字を記述する事が出来、この場合は
           目いっぱい広げずにカーソルが移動する対象側のファイル窓を
           その数字の大きさ(%)にします。

          例) &VSPMV L80
                 → カーソルを左ファイル窓に移して、左ファイル窓を 80% の
                    大きさにする。
              &VSPMV P C
                 → 実行する毎に自ファイル窓を最大化と中央区切りをトグル。
              &VSPMV 0 20 40 60 80 100
                 → 最初に左端、その後実行する毎に 1/5 ずつ境界位置が
                    右へ移動する。右端の次は左端に戻る。

      &HSPMV [lines]     .....  メッセージ窓の表示行数を指定します。
           lines はスペース区切りで複数指定可能で、実行する毎に次の指定へと
           切り替わります。
           ただしこの場合『同じ位置を表すモノ』を2回以上指定は出来ません。

      &SENDKEY [keycode] .....  [keycode] のキーを押して離した状態を
                                シミュレートします。
                                [keycode] は AFXWKEY.TXT に書かれた書式に
                                従って4桁の数字で指定します。
                                AFXW.KEY によってフルキーカスタマイズが
                                行われている場合は、キーのすり替えが有効と
                                なる点に注意して下さい。
                                また、外部からオートメーションサーバにて
                                実行した場合に ALT キーを含む場合は
                                あふw のウインドウがアクティブになります。

      &SCRIPT [file] (arg) ...  スクリプトを実行します。
                                (通常x86版のみで利用可)
                                詳しくは AFXWAMS.TXT をご参照下さい。

      &MENU [file]       .....  指定したメニュー定義ファイルに従って
                                実行メニューを開きます。

      &PMENU [file]      .....  指定したメニュー定義ファイルに従って
                                自ファイル窓を親としたポップアップ実行
                                メニューを開きます。

      &ALPHA [alpha]     .....  ウインドウの透明度を指定します。
           alpha : 0(不透明)  1(薄い) ~ 255(濃い)

           alpha はスペース区切りで複数指定可能で、実行する毎に次の指定へと
           切り替わります。
           ただしこの場合『同じ濃さを表すモノ』を2回以上指定は出来ません。

           また +20 や -20 等、相対の濃さを指定出来ます。
           ただしこの場合スペース区切りの複数指定は出来ません。