規定のコマンドタイプ7

規定のコマンドタイプ7

&open が先頭に付くものが、 タイプ7 の規定のコマンドである。

この &open の括りは、大きく分けて
ファイルパスから実行される場合
アイテム名から実行される場合 に分かれる。

後、 アイテム名から実行される場合、
アイテムの種類によっても処理の仕方が少し変わる。

動作のルールは、
ファイルパスから実行する場合 や、
アイテム名から実行する場合 と全く同じである。

規定のコマンドタイプ7

&open

タイプ7

ファイルパスからファイルを開くか、
アイテムを実行する。

動作の内部的な内容は、
ファイルパスからファイルを開く場合や、
アイテムを実行する場合と全く同じ処理である。

&openConfirm との違いのためにある様なものであるともいえる。

&openConfirm は、ファイルパスやアイテムを実行するのではなく、
「どの様に動作しようとするのか」を出力するだけ。

&open&openConfirm と「どの様に動作しようとするのか」が同じものを実行するだけ。

引数1 がファイルパスかアイテム名なら普通に実行するだけ。

ファイルパスかアイテム名でない場合は
一時的な説明表示 に簡易的なエラーを表示するだけで後は何もしない。

引数1 といっても、ファイルパスの指定の場合は
引数1 という括りに関わらず、ファイルパスと認識できるかどうかによる。

これには、 設定

空白のあるファイルパスを自動的に調べて
対応する、という処理をしない

の設定の影響からファイルパスとして認識できるかどうかに違いがある。

先程にも挙げた様に、
ファイルパスからファイルを開く場合や、
アイテムを実行する場合と全く同じである。

存在しようと、しまいと構わないような規定のコマンドかもしれないが
これを テキスト上のキーとして使う事で、
入力補完が表示している場合でもそれを閉じずに決定をする事ができるので、その使い方として少しだけ役にたつ。

あとは、あえてファイルパスの指定や、 アイテムの指定でのみ動作をさせたい場合といった時にも意味があるかもしれない。

引数全て

この規定のコマンドを使わずに
ファイルパスから実行する場合や、
アイテムの実行をする場合と同じ。

ファイルパスや、アイテムの指定で無い場合は、何もしない。

&openConfirm

タイプ7
Alt+O

ファイルパスからファイルを開く指定か、
アイテムを実行する指定であった場合、
「どの様に動作しようとするのか」を出力する。

分割テキスト1 に対して出力する。

分割テキスト を使って、

  1. 開こうとするファイルのファイルパスの部分と、
  2. 引数の部分と
  3. 作業フォルダがどこなのか

を分かりやすく明示する。

今挙げたことだが、
ファイルパスからファイルを開く指定か、
アイテムを実行する指定でのみにしか使用できない。

&open と「どの様に動作しようとするのか」が同じ。

&open と内部処理が同じで、それの最後の方で
&open&openConfirmの違いで内部処理の違いが分かれる様にしているため
&open の場合と「どの様に動作しようとするのか」が同じものを確認できると思ってよい。

&open は実行するだけ。
&openConfirm は確認するだけ。

分割テキスト1 から実行した場合は、
分割テキスト2 の方に出力する。

補足

&&& などがあれば、 &&& の後のスクリプトはそのまま実行される。

これもアイテムの種類で動作が変わる。

スクリプトや二行以上の場合はそのまま引数扱いになる。

これも、内部動作の確認の上では正しい動作になる。

用途

コマンドランチャーを使用する際、
スペースがあるファイルパスが原因で思うような動作がされない場合がよくある。

これを使えば、ファイルパスと引数がどの様に認識されているかを確認しやすい。

%*%1 を使っている場合、引数がどのように配置されるのかを確認できる。

TRR設定 にある、

空白のあるファイルパスを自動的に調べて
対応する、という処理をしない

の設定や、

引数の
相対パスを絶対パスに変えてから
実行する、という処理をしない

の設定の動作による違いがどの様になっているかを確認できる。

アイテムの登録のウインドウ の設定の中に、

引数のファイルパスを
自動的に""で囲むようにする

があるが、 これをチェックして登録した アイテム を使用する場合の動作確認に使える。

引数全て

この規定のコマンドを使わずに
ファイルパスから実行する場合や、
アイテムの実行をする場合と同じ。

ファイルパスや、アイテムの指定で無い場合は、何もしない。

&openConfirmOneLine

タイプ7
Alt+Shift+O

&openConfirm と同じ。
分割テキスト1 ではなく、
テキスト1 に出力する点が違うだけ。

テキスト1 から実行した場合は、
テキスト2 の方に出力する。

引数全て

この規定のコマンドを使わずに
ファイルパスから実行する場合や、
アイテムの実行をする場合と同じ。

ファイルパスや、アイテムの指定で無い場合は、何もしない。

&openTextOut

タイプ7

&open と同じだが、 # #% % を展開してからアイテム名かどうかを確認するという点で違いがある。

二行以上のアイテム内の処理などで、
アイテム名を変数に代入したものを使う場合、
さらに、 一行テキスト の処理ではなく、アイテムの実行に限定した動作をさせたい場合に利用する意味がある。

&open %varName%

といった記述で アイテム を実行する場合に意味がある。

&open では、
&open %varName% といった指定で使っても、
変数に、ファイルパスが格納されていた場合は動作するが、
アイテム名が代入されていた場合は、
アイテム名と判別して動作したりはしない。

これは、 テキストで実行するとき
%varName% とだけ記入して実行しても、
アイテム名と判別して動作したりはしないのと同じである。

引数全て

# #% % を展開してから
ファイルパスか、アイテムの指定かどうかを確認して、それらであるなら実行する。

それ以外は
ファイルパスから実行する場合や、
アイテムの実行をする場合と同じルール。

ファイルパスや、アイテムの指定で無い場合は、何もしない。