ExeCommands コマンド
ファイラー、テキストビュアー、イメージビュアー、 オプション設定 - 関連付け、オプション設定 - 追加メニュー で ExeCommands コマンドを用いると、一連の複数コマンドを実行できます。制御文などを用いたバッチ処理も可能です。なお、ExeCommands コマンドの中でさらに ExeCommands コマンドを実行することはできません。
オプション設定 - イベントや、ツールバーの設定では、実行するコマンドを ExeCommands コマンドのパラメータとして割り当てています。
また、起動時オプションで -X を指定すると、ExeCommands コマンドのパラメータとして実行されます。
ExeCommands コマンドの実行を中断したい場合は、ESCキーを押してください。中断の確認メッセージが出ます。
構文 / ユーザ定義変数 / 定義済み変数 / 補助コマンド / 制御文 / 例
構文
- ExeCommands_[:説明:]コマンド[:コマンド...]
-
パラメータで指定したコマンドを実行します。コマンドは : (コロン)で区切って複数指定できます。
コマンドが $ で始まる場合、追加メニューまたは外部ツールで設定されているエイリアスとみなし、その項目を実行します(サブメニューの親項目の場合は、そのサブメニューをポップアップ表示)。
パラメータの先頭に :文字列: という形で説明を付けると、キー割り当て一覧や2ストローク・ヒントの説明部分に表示されます。ExeCommands_:空のディレクトリを削除: SelEmptyDir: Delete_SO
パラメータ中、:\ 以外で : を用いたい場合は、パラメータ全体をダブルクォーテーションで囲んでください。
ExeCommands_MsgBox_":エラー:処理に失敗しました"
- ExeCommands_[:説明:]@[コマンドファイル名]
-
先頭が @ の場合、コマンドファイル名の指定になります。ドライブ指定がない場合は NyanFi ディレクトリからの相対指定とみなされます。拡張子は .nbt としています。それ以外でもかまいませんが、CmdFileList コマンド(コマンドファイル一覧)では NyanFi ディレクトリ以下(サブディレクトリを含む)にある *.nbt が表示されます。実行するコマンドのパラメータでは、"%変数名%" という形で、ユーザ定義変数、定義済み変数および環境変数を参照できます。
なお、ファイル名無しで @ だけを指定した場合、ファイラーのカーソル位置が .nbt ファイルならそれを実行します。
コマンドファイルでは、コマンドを : (コロン)だけでなく改行でも区切ることができます。また見やすくするためにインデントしたり空行を入れたりしてもかまいません。
コマンドのパラメータ中、:\ 以外で : を用いたい場合は、パラメータ全体をダブルクォーテーションで囲んでください。なお、空白が含まれている場合なども、わかりやすくするためにダブルクォーテーションで囲んでかまいません。
行頭が ; (セミコロン) の場合はコメントとみなされます。
なお、コマンドや制御文の大文字・小文字は区別されません。
※実行したコマンドファイルの内容は内部に保持されます。再度実行しようとした際にファイルのタイムスタンプが前回から変化していなければ、保持している内容を再利用します。タイムスタンプが変化していたら、ファイルを読み込み直して実行します。なお、コマンドファイル中に #noreload という行を記述することより、タイムスタンプチェックによる再読み込みを無効にできます。
※コマンドファイルのファイル名主部を RenameDlg コマンドで変更すると、キー設定や追加メニューなどで ExeCommands のパラメータとなっている箇所に反映されます。
ユーザ定義変数
補助コマンドの Set、Input、Add などで内容を設定できます。
変数名の大文字・小文字は区別されません。また日本語も使えます。
値は文字列として設定されますが、Set コマンドで複合代入演算子(+=、-=、*=、/=、%=)を用いた場合、整数値とみなして演算できます。
また Test コマンドで、変数の内容と文字列を自然順で比較できます。
設定された変数は、"%変数名%" という形で、パラメータ内で参照できます。
Input_A Input_B Set_答=%A% Set_答*=%B% MsgBox_%A%×%B%=%答%
通常、ユーザ定義変数の内容は ExeCommands コマンドが終了すると失われますが、変数名の先頭に ".." を付けると、コマンド終了後も NyanFi が終了するまでそのまま保持されます。
例: 実行されるたびに変数に1を加算Set_..N+=1 MsgBox_%..N%回目です
定義済み変数
変数名の大文字・小文字は区別されません。
これらは "%変数名%" という形で、パラメータ内で参照できます。
UserName | ユーザ名 |
---|---|
ExePath | NyanFi のディレクトリ(末尾に \) |
TmpPath | NyanFi の一時ディレクトリ(末尾に \) → オプション設定 - 一般 |
ThisName | 実行中コマンドファイルのパス付きファイル名(無い場合は空) |
CurPath | カレントのディレクトリ(末尾に \) |
OppPath | 反対側のディレクトリ(末尾に \) |
FileName | カーソル位置(または閲覧中)のパス付きファイル名 |
NamePart | カーソル位置(または閲覧中)のパス無しファイル名 |
BaseName | カーソル位置(または閲覧中)のパス無しファイル名主部 |
DirName | カーソル位置(または閲覧中)ファイルのディレクトリ名(末尾の \ は無し) |
FileSize | カーソル位置(または閲覧中)ファイルのサイズ(バイト単位、未定の場合 -1) |
FileSizeF | カーソル位置(または閲覧中)ファイルのサイズ(ファイルリストでの書式) |
FileTime | カーソル位置(または閲覧中)ファイルのタイムスタンプ(書式 yyyy/mm/dd hh:nn:ss) |
FileTimeF | カーソル位置(または閲覧中)ファイルのタイムスタンプ(ファイルリストでの書式) |
Date | 現在の日付(書式 yyyy/mm/dd) → FormatDT |
Time | 現在の時刻(書式 hh:nn:ss) → FormatDT |
TabNo | 現在のタブ番号(1〜) |
FileCount | カレントのファイル数 |
DirCount | カレントのディレクトリ数 |
CurFiles | カレントのパス付きファイル名リスト(改行区切り、ディレクトリは末尾が \、.. は除外) |
SelCount | カレントの選択項目数 |
SelFileCount | カレントの選択ファイル数 |
SelDirCount | カレントの選択ディレクトリ数 |
SelFiles | カレントで選択中のパス付きファイル名リスト(改行区切り、ディレクトリは末尾が \) |
VolumeLabel | カレントのボリュームラベル |
ScrMode | 画面モード (FL:ファイラー、TV:テキストビュアー、IV:イメージビュアー、GR:文字列検索(GREP)) |
SortMode | カレントのソート方法 (F :名前、E :拡張子、D :更新日時、S :サイズ、A :属性、U :なし、L :場所) |
SelText | テキストビュアーで選択中のテキスト |
LineNo | テキストビュアーでのカーソル位置の行番号(改行単位) |
LineText | テキストビュアーでのカーソル位置の行内容(改行まで) |
CursorPosY | テキストビュアーでのカーソルのY位置(0〜) |
CursorPosX | テキストビュアーでのカーソルのX位置(0〜) |
PageSize | テキストビュアーの1ページ中の表示行数 |
Battery | バッテリー残量(0〜100) |
TaskCount | 実行中および待機中タスクの合計数 |
MatchedStr | 直前の MatchBuffer、MatchDir、MatchExt、MatchName でマッチした部分の文字列 |
CodePage | コードページ(Buffer の読み込み/保存に使用) テキストビュアーでは表示中テキストのコードページ(変更するとその値が優先) |
MenuIndex | PopupMenu で選択された項目番号(1〜、キャンセル時は0) |
MenuStr | PopupMenu で選択された項目文字列(アクセラレータ部分や前後の空白は削除、キャンセル時は "") |
ModalResult | 直前に閉じられたモーダルダイアログの戻り値 (1 = OK、2 = キャンセル、6 = はい、7 = いいえ、8 = 閉じる) |
ExitCode | ShellExecute (SetExeOpt で W、O を指定)実行後の終了コード |
WinWidth | メインウィンドウの幅 |
WinHeight | メインウィンドウの高さ |
Clipboard | クリップボードのテキスト内容 |
DownloadName | Download コマンドでダウンロードしたファイル名 |
LastWatchLog | WatchTail コマンドで最後に検出されたファイル名とその追記内容 |
Buffer | 作業用バッファ、ファイルの読込/保存にも使用可能 |
BufferLength | Buffer の総文字数 |
BufferCount | Buffer の行数 |
BufferIndex | Buffer の行インデックス (0 <= BufferIndex < BufferCount) |
BufferLine | Buffer の BufferIndex 行の内容 |
補助コマンド
ExeCommands コマンドのパラメータまたはコマンドファイル内でのみ使える補助コマンドとして、以下のものがあります。A C D E F G H I J L M P R S T W
- ActivateWnd_[クラス名][;タイトル文字列|/正規表現パターン/]
- 指定したクラス名やタイトル文字列がマッチするウィンドウをアクティブにします。
クラス名は完全一致、タイトル文字列(/ で囲むと正規表現)は部分一致になります。大文字・小文字は区別されません。
クラス名とタイトル文字列を両方指定したい場合は ; (セミコロン)で区切ってください。タイトル文字列のみを指定したい場合はパラメータを ; で始めます。
マッチ結果を後続の If 文の条件(True、False)として利用できます。
例: コマンドプロンプト画面をアクティブに、なければ起動ActivateWnd_ConsoleWindowClass IfFalse CommandPrompt EndIf
例: 前方一致で "hoge" がマッチする HogeClass クラスのウィンドウをアクティブに、なければ起動ActivateWnd_HogeClass;/^hoge/ IfFalse FileRun_hoge EndIf
- Add_変数名<<文字列
-
変数の末尾に、文字列を行として追加します。
→ Ins → Set - AppendBuffer_ファイル名
- 定義済み変数 Buffer の内容を指定したファイルに追記保存します。
保存の際のコードページは、定義済み変数 CodePage が用いられます。ファイルが存在しない場合は新規作成します。
ファイル名にドライブ指定がない場合、ファイラーではカレント、ビュアーでは閲覧中ファイルのディレクトリからの相対指定とみなされます。
例: 現在の日付とファイル名を nyan.log に Shift-JIS で追記→ SaveBufferSet_Buffer="%Date% %Time% %FileName%" Set_CodePage=932 AppendBuffer_"nyan.log"
- CallCommands_@コマンドファイル名
- パラメータで指定した別のコマンドファイルを呼び出します。呼び出し先からは ReturnCommands で元のコマンドファイルの呼び出し位置に戻れます。多重呼び出しも可能。
使用中のユーザ定義変数は、そのまま後続のコマンドファイルへ引き継がれます。
コマンドファイル名にドライブ指定がない場合、NyanFi ディレクトリからの相対指定とみなされます。
→ ReturnCommands → JumpCommands - Debug_ON|_OFF|_BP|_WL<<変数名
- デバッグモードの有効/無効を切り替えます。
パラメータに ON を指定すると、そこからデバッグモードになり、デバッグウィンドウが開きます。
デバッグウィンドウでは、以下のボタンまたはキーで操作を行えます。パラメータに BP を指定すると、デバッグ実行中にその位置に来ると停止します(ブレークポイント)。
S: ステップ実行/ G: 実行/ B: 停止/ Q: デバッグモード終了(Debug_OFF)/ X: コマンドの実行を終了(Exit)
V: 変数一覧を表示(ListVar)/ E: エディタで開く/ H: ヘルプを表示
上側のリストには、コマンドファイルの内容が表示され、実行位置にカーソルが表示されます。
下側のリストには、デバッグ状態やユーザ定義変数が表示されます。
パラメータに WL<<変数名 の書式で定義済み変数を指定すると、監視変数リストに追加され、デバッグ中にその内容が表示されます(例: Debug_WL<<FileName)
なお ExeCommands コマンドの代わりに DebugCmdFile コマンドによってコマンドファイルを実行すると、Debug 補助コマンドが記述されていなくても最初からデバッグモードになります。 - Download_URL[>>[テキストファイル名]]
- パラメータで指定したURLのファイルを、一時ディレクトリにダウンロードします(進捗ダイアログを表示)。
ダウンロードしたファイル名は、定義済み変数 DownloadName で参照できます(キャンセル、失敗時は空文字列)。
なお、URLの末尾が / の場合 "index.htm" が付加されます。
URLの後に >>[テキストファイル名] を指定すると、ダウンロードしたファイルがHTML文書の場合、それをテキストに変換して保存します。変換はテキストビュアーでのHTML→テキスト変換表示に準じます。ただし拡張子を .md にすると、オプション設定にかかわらず Markdown 記法に変換します。
ファイル名にドライブ指定がない場合はカレントからの相対指定とみなされます。ファイル名を指定しない場合は、ダウンロードしたファイルの拡張子を .txt に変えて一時ディレクトリに保存します。 DownloadName は変換保存したファイル名になります。
例: ダウンロードしたHTML文書をテキストに変換して指定ファイルに保存し、一覧ダイアログで表示Download_"http://nekomimi.la.coocan.jp/freesoft/nyanfi.htm>>D:\hoge\nyan.txt" ListText_D:\hoge\nyan.txt
- Echo_文字列
- 指定した文字列をログウィンドウに表示します。
- EchoOff
- エコー機能を無効にします。
- EchoOn[_LN]
- エコー機能を有効にします。コマンドやエラー内容をログウィンドウに表示します。ExeCommands コマンド開始時には無効になっています。
パラメータに LN を指定すると、コマンドファイルの行番号が行頭に表示されます。 - EchoT_文字列
- 指定した文字列の前に時刻情報を付けてログウィンドウに表示します。
- Edit_変数名
Edit_":タイトル:変数名" - 複数行入力可能なテキストボックスによって、変数の内容を編集します。
バラメータでタイトルを指定できます。その場合、パラメータ全体をダブルクォーテーションで囲んでください。タイトル内では :\ を表示文字として使えます。
フォントや文字色/背景色はテキストビュアーのものが用いられますが、文字色/背景色については右クリックメニューで変更可能です。
ボックスにフォーカスがある場合、ENTERキーは改行になります。OKは、Ctrl+ENTERで行ってください。
キャンセルすると後続 If 文の Cancel が真になります(OK なら Yes が真)。
右クリックメニュー/ショートカットには基本的な編集機能があります。なお「カーソル行を削除」はアンドゥできません。例: テキストファイルを編集して保存→ InputSet_MemoFile="D:\Data\memo.txt" LoadBuffer_%MemoFile% Edit_":メモ:Buffer" IfYes SaveBuffer_%MemoFile% EndIf
- Exit
- ExeCommands コマンドの実行を終了します。
※ファイラーの Exit コマンドを実行したい場合は、エイリアスの Close を使ってください。
→ ReturnCommands - FileExists_ファイル名
- パラメータで指定したファイルが存在するかを調べます。
ファイル名にドライブ指定がない場合、ファイラーではカレント、ビュアーでは閲覧中ファイルのディレクトリからの相対指定とみなされます。
結果を後続の If 文の条件(True、False)として利用できます。
- FilterBuffer_{文字列|/正規表現パターン/}[;文字列...]
- 定義済み変数 Buffer の内容から指定文字列が含まれている行だけを残します。文字列は ; (セミコロン)で区切って複数指定できます。大文字・小文字は区別されません。指定文字列を / で囲むと正規表現とみなされます。
例: カーソル位置のテキストファイルから「エラー」または「警告」を含む行を抽出して表示→ MatchBufferLoadBuffer_%FileName% FilterBuffer_"エラー;警告" MsgBox_%Buffer%
- FlashWin[_点滅回数[_点滅間隔(ms)]]
- メインウィンドウのタイトルバーを点滅させます。
パラメータを省略した場合は、オプション設定 - 通知・確認 - タスク終了時の通知音 で設定されている値が用いられます。無設定の場合は、点滅回数 = 3、点滅間隔 = 250 となります。
例: FlashWin_5_100→ PlaySound - Format_変数名=書式文字列
-
オプション設定 - 外部ツール のパラメータで利用できる書式を含んだ文字列を解決して、変数に設定します。
なお、名前に空白が含まれているとダブルクォーテーションが付加されるため、用途によっては注意が必要です。
例: Format_選択中ファイル名=$F - FormatDI_変数名=書式文字列
-
カレントのドライブ情報を書式にしたがって変数に設定します。
使用できる書式文字列は、オプション設定 - デザイン - ドライブ情報の書式 のものと同じです。
例: FormatDI_空き容量="$DN $FS ($FR)" - FormatDT_変数名=書式文字列
-
現在の日時を書式にしたがって変数に設定します。
日付や時刻には以下の指定子が使えます。
yyyy 年(4桁)、yy 年(2桁)、mm 月、dd 日、ddd 曜日、dddd 曜日(完全名)、hh 時、nn 分、ss
G 元号(略)、gg 元号(完全名)、ee 元号年
書式文字列の任意の位置に $EN を記述すると、ロケールが英語(en-US)に切り替わり、以下のような表示になります。
ddd 曜日(Sun〜Sat)、dddd (Sunday〜Saturday)、mmm 月(Jan〜Dec)、mmmm (January〜December)
なおシングルクォーテーションで囲まれた文字はそのまま表示されます。ここに挙げた以外にも指定子として機能する文字があるため、英字はシングルクォーテーションで囲んでおいた方がよいでしょう。
例: FormatDT_今日の日付="yyyy年mm月dd日 (ddd)"
例: FormatDT_Today="$EN'Date:' dddd, mmmm dd, yyyy" - FormatFN_変数名=書式文字列
- カーソル位置(または閲覧中)の項目について、ファイル名などの情報を書式にしたがって変数に設定します。
使用できる書式文字列は、CopyFileName コマンドのものと同じです。クリップボードには入りません。
例: FormatFN_MD5ハッシュ=$G(MD5)
例: FormatFN_タグ=$R(タグ) - Git_コマンド [パラメータ]
-
カレントを作業ディレクトリとして、指定したコマンド/パラメータで git.exe (Git for Windows)を実行します。
結果は、ログおよび定義済み変数 Buffer に出力されます。
git.exe の場所が自動的に見つけられなかった場合は、オプション設定 - 一般2 - その他 の git.exe (Git for Windows) で設定してください。
例: Git_"clone https://github.com/Nekomimi1958/NyanFi_x64.git"→ Git の利用について
例: Git_"add %NamePart%"
例: Git_"config --global -l": ListBuffer_Git
例: Git_"log --oneline": ListBuffer_"Git - %CurPath%" - GrepSetMask_マスク
- 文字列検索(GREP)のマスクを設定します。Grep コマンドとあわせて用います。
.nyanfi ファイルによる設定も可能です。
- GrepStart
- 可能なら文字列検索(GREP)を開始します。Grep コマンドとあわせて用います。
- Hint[_[!]メッセージ]
- 指定したメッセージをヒント表示します。
先頭に ! を付けるとヒントが自動的に隠れません。表示されているヒントを消すには、メッセージなしで Hint を実行します。
※! を指定していても NyanFi が非アクティブになるとヒントが隠れてしまいますので注意してください。例→ Warn
Hint_!処理中... … Hint
- Ins_変数名<<文字列
-
変数の先頭に、文字列を行として挿入します。
→ Add → Set - Input_変数名
Input_":タイトル:[プロンプト:]変数名" - 入力ボックスによって、変数に文字列を設定します。
バラメータでタイトルおよびプロンプトを指定することも可能です。その場合、パラメータ全体をダブルクォーテーションで囲んでください。タイトルやプロンプト内では :\ を表示文字として使えます。
既存のユーザ定義変数の場合、その内容がデフォルトとして入力ボックスに表示されます。
キャンセルすると後続 If 文の Cancel が真になります(OK なら Yes が真)。
例: Input_":設定:回数を入力してください:N"→ Set → Test
- JumpCommands_@コマンドファイル名
- パラメータで指定した別のコマンドファイルへジャンプします。現在実行中のコマンドファイルには戻ってきません。
使用中のユーザ定義変数は、そのまま後続のコマンドファイルへ引き継がれます。
コマンドファイル名にドライブ指定がない場合、NyanFi ディレクトリからの相対指定とみなされます。
→ CallCommands - ListBuffer[_タイトル[;/見出し開始パターン/]]
-
定義済み変数 Buffer の内容を一覧ダイアログで表示します。
パラメータでタイトルを指定すると、ダイアログのタイトルバーに表示されます。
また見出し開始パターン(正規表現、先頭の ^ は不要)を指定すると、そのパターンで始まる行内容が「見出しの文字色」で表示されます。
なお、すべての行が「名前=値」形式の場合、ListVar コマンドと同様に = 位置を揃えて表示します。
例: ListBuffer_結果一覧;/[●◆■]/→ Debug
- ListVar
-
定義済み変数およびユーザ定義変数の内容を一覧ダイアログで表示します。
コマンドファイルのデバッグなどで役立つかもしれません。
- LoadBuffer[_ファイル名|_ファイルマスク]
- 指定したテキストファイルを、定義済み変数 Buffer に読み込みます。
パラメータにファイル名を指定しないとダイアログが表示されます。
またファイル名に * や ? が含まれている場合、それをファイルマスクとしてダイアログが出ます。
ファイル名/ファイルマスクにドライブ指定がない場合、ファイラーではカレント、ビュアーでは閲覧中ファイルのディレクトリからの相対指定とみなされます。
ファイルが読み込まれると、判定されたコードページが定義済み変数 CodePage に設定されます。
なお、定義済み変数 BufferIndex は 0 にリセットします。
例: 指定したディレクトリでテキストを選び、内容を一覧ダイアログで表示→ SaveBufferLoadBuffer_D:\Hoge\*.txt ListBuffer
例: カーソル位置のファイルの先頭から5行をログウィンドに表示LoadBuffer_%FileName% Repeat_5 Test_BufferIndex<%BufferCount% IfFalse_Break Echo_%BufferLine% Set_BufferIndex+=1 EndRepeat
- MatchBuffer_{文字列|/正規表現パターン/}[;文字列...]
- 定義済み変数 Buffer の内容に指定文字列が含まれているかを調べます。文字列は ; (セミコロン)で区切って複数指定できます。大文字・小文字は区別されません。指定文字列を / で囲むと正規表現とみなされます。
結果を後続の If 文の条件(True、False)として利用できます。
また、マッチした行インデックスが BufferIndex に、マッチした部分の文字列が MatchedStr に設定されます。
→ FilterBuffer - MatchDir_{文字列|/正規表現パターン/}[;文字列...]
- カレントのディレクトリ名に指定文字列が含まれているかを調べます。文字列は ; (セミコロン)で区切って複数指定できます。大文字・小文字は区別されません。指定文字列を / で囲むと正規表現とみなされます。
結果を後続の If 文の条件(True、False)として利用できます。
また、マッチした部分の文字列が、定義済み変数 MatchedStr に設定されます。
- MatchExt_拡張子[;拡張子]
- カーソル位置のファイルの拡張子を調べます。拡張子は ; (セミコロン)または . (ピリオド)で区切って複数指定できます。大文字・小文字は区別されません。
結果を後続の If 文の条件(True、False)として利用できます。
また、マッチした部分の文字列が、定義済み変数 MatchedStr に設定されます。
例: MatchExt_jpg;jpeg;jpe: IfTrue: MsgBox_Jpeg画像です: EndIf - MatchName_{文字列|/正規表現パターン/}[;文字列...]
- カーソル位置のファイル名主部またはディレクトリ名に指定文字列が含まれているかを調べます。文字列は ; (セミコロン)で区切って複数指定できます。大文字・小文字は区別されません。指定文字列を / で囲むと正規表現とみなされます。
結果を後続の If 文の条件(True、False)として利用できます。
また、マッチした部分の文字列が、定義済み変数 MatchedStr に設定されます。
例: MatchName_/\d{4}/ - Mid_変数名;開始位置(1〜)[;文字数]
- 変数の部分文字列を取り出します。
文字数を省略すると、開始位置以降のすべてになります。指定した変数自体の内容が変化しますので注意してください。
→ Right - MsgBox_メッセージ
MsgBox_":タイトル:メッセージ" - 指定したメッセージを表示します。
タイトルを指定することも可能です。その場合、パラメータ全体をダブルクォーテーションで囲んでください。タイトル内では :\ を表示文字として使えます。
メッセージ内で \n は改行になります。\そのものを文字として指定したい場合は \\ と記述してください。
例: MsgBox_":エラー:失敗しました\n設定を確認してください" - MsgBoxYN_[:タイトル:]メッセージ
- 「はい、いいえ」ボタン付きで、指定したメッセージを表示します。
結果を後続の If 文の条件(Yes、No)として利用できます。
- MsgBoxYNC_[:タイトル:]メッセージ
- 「はい、いいえ、キャンセル」ボタン付きで、指定したメッセージを表示します。
結果を後続の If 文の条件(Yes、No、Cancel)として利用できます。
- MsgOff
- コピー、移動、削除、解凍や、Backup_設定名、ConvertHtm2Txt、DeleteADS、DelJpgExif、ExtractChmSrc、ExtractGifBmp、ExtractIcon、ExtractImage(ExtractMp3Img)、ClearMark_AC_AC、DirHistory_AC、EditHistory_AC、ViewHistory_AC、RecentList_AC|BC コマンドで確認メッセージを出さないようにします。
- Nop
- 何もしません。
- PlaySound_ファイル名
- 指定したサウンドファイル(.wav、.mp3、.mid)を再生します。
ドライブ指定がない場合は NyanFi ディレクトリからの相対指定とみなされます。
なお再生を中断したいときは、ファイル名を指定せずに PlaySound コマンドを実行してください。
※.mp3 の場合ID3タグの内容によっては再生できない場合があります。適切なコーデックを別途インストールすれば再生できるようになります。→ FlashWin
- PopIndex
- ファイルリストのカーソル位置をスタックから復帰します。インデックスが範囲を超えていた場合は最下行に移動します。
→ PushIndex → SetIndex - PopTopIndex
- ファイルリストの先頭項目インデックスをスタックから復帰します。
→ PushTopIndex - PopVar_変数名
- 変数スタックから取り出した内容を、指定した変数に設定します。 → PushVar
- PushIndex
- ファイルリストのカーソル位置をスタックに退避します。スタックは ExeCommands コマンドの実行中のみ有効です。
→ PopIndex → SetIndex - PushTopIndex
- ファイルリストの先頭項目インデックスをスタックに退避します。スタックは ExeCommands コマンドの実行中のみ有効です。 → PopTopIndex
- PushVar_変数名
- 指定した定義済み変数またはユーザ定義変数の内容を変数スタックに退避します。スタックは ExeCommands コマンドの実行中のみ有効です。
→ PopVar - PopupMenu_変数名
- 変数に設定された項目をポップアップメニューで表示します。
メニュー項目が選択されると、定義済み変数 MenuIndex に項目番号(1〜、キャンセル時は0)が、MenuStr には項目の文字列(アクセラレータ部分や前後の空白は削除、キャンセル時は "")が設定されます。
例:Add_メニュー<<ねこ(&C) Add_メニュー<<いぬ(&D) Add_メニュー<<とり(&B) PopupMenu_メニュー MsgBox_項目%MenuIndex%の「%MenuStr%」が選択されました
- Random_変数名=[前置文字列][0]数字[後置文字列]
- 指定した値以下の乱数を含む文字列を変数に設定します。
数字の頭に0を付けると(頭の0を除いた)桁幅に揃えて左側が0で埋められます。
例: Random_ランダム名=ABC0999XYZ → ABC000XYZ 〜 ABC999XYZ→ Set
- ReadINI_変数名=キー名
- NyanFi.INI [ExeCommands] セクションから指定したキーの内容を変数に読み込みます。
なお、このコマンドによってINIファイルへのアクセスは生じません。
例: 今日初めて実行したかをチェック→ WriteINIReadINI_前回の日付=LastDate Test_前回の日付!=%Date% IfTrue MsgBox_"今日初めて実行しました" WriteINI_LastDate=%Date% EndIf
- Redraw_[L|R]ON|_[L|R]OFF
- パラメータに OFF を指定するとファイルリスト(ヘッダとドライブ情報も含む)の描画を停止します。ON を指定すると描画を再開します。先頭に L または R を付けることで左右個別に設定することもできます(無指定の場合は両画面)。
描画を停止したまま ExeCommands コマンドを終了すると、ファイラー操作は可能ですが、Redraw_ON が実行されるまでリスト表示は一切更新されません。Redraw_OFF を複数回実行した場合は、Redraw_ON を同じ回数実行してください。このコマンドは、ファイラー画面でのみ有効です。
- ReplaceBuffer_{対象文字列|/正規表現パターン/}=置換後文字列
- 定義済み変数 Buffer の内容に対して文字列置換を行います。
対象文字列を / で囲むと正規表現パターンとみなされます。置換の際に大文字・小文字は区別されません。
対象文字列やパターンに = が含まれている場合は、ダブルクォーテーションで囲んでください。
例: カレントのパス無しディレクトリ名を取得Format_Buffer=$P ReplaceBuffer_/.*\\/=""
例: カーソル位置ファイルの日付を yy-mm-dd 形式で取得Set_Buffer=%FileTime% Mid_Buffer;3;8 ReplaceBuffer_/=-
例: Buffer の最後の10行を削除Repeat_10 ReplaceBuffer_/^.*\r\n\z/="" EndRepeat
例: カーソル位置のHTML文書からタグを削除し連続改行をつめて表示LoadBuffer_%FileName% ReplaceBuffer_/<[^<>]+>/="" ReplaceBuffer_/(\r\n){3,}/=\r\n MsgBox_%Buffer%
- ReturnCommands
- CallCommands 補助コマンドによる呼び出し元へ戻ります。
使用中のユーザ定義変数は、そのまま引き継がれます。
なお、CallCommands で呼び出されていない場合は、そのまま終了します。
→ CallCommands → JumpCommands → Exit - Right_変数名;文字数
- 変数の右端から指定した文字数の文字列を取り出します。
指定した変数自体の内容が変化しますので注意してください。
なお、左端を取り出したい場合は、Mid_1;文字数 で行ってください。
→ Mid - SaveBuffer[_ファイル名]
- 定義済み変数 Buffer の内容を指定したファイル名で保存します。ファイル名を指定しないとダイアログが出ます。
保存の際のコードページは、定義済み変数 CodePage が用いられます。改行コードは CR/LF になります。
ファイル名にドライブ指定がない場合、ファイラーではカレント、ビュアーでは閲覧中ファイルのディレクトリからの相対指定とみなされます。
例: カーソル位置のテキストファイルをUTF8(コードページ=65001)に変換→ LoadBuffer → AppendBuffer
LoadBuffer_%FileName% Set_CodePage=65001 SaveBuffer_%FileName%
例: クリップボードのテキスト内容をカーソル位置ファイルに代替データストリームとして保存
Set_Buffer=%Clipboard% Set_CodePage=65001 SaveBuffer_"%FileName%:MetaText"
- SearchDown_{文字列|/正規表現パターン/}[;文字列...]
- カレントのファイルリストで、名前に指定文字列が含まれている項目を下方向に検索します。文字列は ; (セミコロン)で区切って複数指定できます。大文字・小文字は区別されません。指定文字列を / で囲むと正規表現とみなされます。
項目が見つかるとその位置へカーソルが移動します。
結果は後続の If 文の条件(True、False)として利用できます。
- SearchDownD_{文字列|/正規表現パターン/}[;文字列...]
- カレントのファイルリストで、ディレクトリのみを対象に SearchDown を実行します。
- SearchDownF_{文字列|/正規表現パターン/}[;文字列...]
- カレントのファイルリストで、ファイルのみを対象に SearchDown を実行します。
- SearchUp_{文字列|/正規表現パターン/}[;文字列...]
- カレントのファイルリストで、名前に指定文字列が含まれている項目を上方向に検索します。文字列は ; (セミコロン)で区切って複数指定できます。大文字・小文字は区別されません。指定文字列を / で囲むと正規表現とみなされます。
項目が見つかるとその位置へカーソルが移動します。
結果は後続の If 文の条件(True、False)として利用できます。
- SearchUpD_{文字列|/正規表現パターン/}[;文字列...]
- カレントのファイルリストで、ディレクトリのみを対象に SearchUp を実行します。
- SearchUpF_{文字列|/正規表現パターン/}[;文字列...]
- カレントのファイルリストで、ファイルのみを対象に SearchUp を実行します。
- SendCommands_{コマンド[:コマンド...] | @ファイル名}
- 複数の NyanFi が起動している場合、パラメータで指定したコマンドを次の NyanFi で実行します(アクティブにはなりません)。
コマンドは : (コロン)で区切って複数指定できます。その場合、パラメータ全体をダブルクォーテーションで囲んでください。
例: 次の NyanFi の左右ディレクトリをこちら側のものに合わせる
ToLeft: SendCommands_"ToLeft: ChangeDir_%CurPath%" SendCommands_"ChangeOppDir_%OppPath%"
- Set_変数名{=|+=|-=|*=|/=|%=}文字列
-
変数に文字列を設定します。変数を代入する場合は、Set_変数A=%変数B% というようになりますので注意してください。
複合代入演算子(+=、-=)を用いた場合、変数内容の書式が yyyy/mm/dd hh:nn:ss、yyyy/mm/dd、hh:nn:ssのいずれかだったら、日付や時刻とみなして演算を行います。その場合、文字列の書式が yyyy/mm/dd や hh:nn:ss からなっていたら日時、それ以外は日数の整数値として演算します。結果の書式は元の変数にしたがいます。
例: 現在 2015/01/01 12:00:00 とすると→ Add → Input → Random → Test
1時間後 Set_時刻=%Time%: Set_時刻+="01:00:00" → "13:00:00"
7日前 Set_日付=%Date%: Set_日付-=7 → "2014/12/25"
それ以外で複合代入演算子(+=、-=、*=、/=、%=)を用いたとき、変数と文字列の内容がともに整数値とみなせる場合は、数値として演算します。結果の桁幅は元の設定値の文字数になります。例: Set_A=0001: Set_A+=10 → "0011"
また、内容が整数値とみなせない場合に複合代入演算子 += を用いると、文字列の連結になります。
例: Set_A=ABC: Set_A+=10 → "ABC10"
- SetCopyMode_{O|N|S|R}
-
後続の Copy、CopyTo、Move、MoveTo コマンドで同名ファイルがあった場合、「同名ファイルの処理」ダイアログを出さずに、指定したモードをすべてに強制適用します。ただし、アーカイブ内へのコピーやFTP接続時には適用されません。
また後続の CreateHardLink コマンドで同名ファイルがあった場合も、削除して置き換えの確認を出さずに強制適用できます。
パラメータは、O「強制上書き」、N「最新なら上書き」、S「スキップ」、R「自動的に名前を変更」のいずれかを指定してください(CreateHardLink コマンドでは O または S のみ有効)。
この設定は、後続の一つのコマンドに対してのみ有効で、コピー/移動コマンドが実行されるとその都度リセットされます。
- SetClipboard_文字列
- クリップボードに文字列を設定します。内容は定義済み変数 Clipboard で参照できます。
- SetExeFile_実行ファイル名
- SetExeParam_パラメータ
- SetExeDir_作業ディレクトリ
- SetExeOpt[_[W][O][L][H]]|[_[H][A]]
- ShellExecute
- これらによって、オプション設定 - 外部ツール と同等の機能を、メニューとして登録することなく直接記述できます。
実行ファイル、パラメータ、作業ディレクトリの書式は、外部ツールの場合と同じです。
なおパラメータ書式やオプションの設定が不要な場合は、FileRun コマンドを用いた方が簡単です。
SetExeOpt では、W (終了を待つ)、O (コンソール出力を Buffer に取得)、L (コンソール出力をログウィンドウに行単位で逐次出力)、H (非表示で実行)、A (管理者として実行) というオプションを組み合わせて指定できます。なお、A を指定した場合、W、O、L は無効となります。例: 左右の同名ファイルを比較
必要な設定を行ってから ShellExecute を実行してください。
実行後、設定した実行ファイル、パラメータ、作業ディレクトリ、オプションの内容はクリアされます。
SetExeOpt で W、O 、L を指定している場合、定義済み変数 ExitCode に終了コードが設定されます。
SetExeFile_"C:\Program Files\WinMerge\WinMergeU.exe" SetExeParam_"$F $R" ShellExecute
例: カレントのファイル名一覧をログウィンドウに出力
SetExeFile_cmd SetExeParam_"/u /c dir" SetExeOpt_LH ShellExecute
例: xdoc2txt (hishida 氏作)を用いて、カーソル位置ファイル(doc、pdfなど)を一覧ダイアログでテキスト表示
SetExeFile_"D:\Prg\xdoc2txt.exe" SetExeParam_$F SetExeOpt_OH ShellExecute ListBuffer_%FileName%
例: 指定したディレクトリを仮想ドライブとしてマウント
FileExists_"P:" IfFalse SetExeFile_cmd SetExeParam_"/c subst P: D:\Embarcadero\Studio\20.0\Projects" SetExeOpt_WH ShellExecute EndIf
- SetFileTime_"yyyy/mm/dd hh:nn:ss"
- カーソル位置項目のタイムスタンプを設定します。
書式が yyyy/mm/dd のみの場合はその日付の 00:00:00 に、hh:nn:ss のみの場合は日付は元のままになります。
例: 時刻部分のみ変更: SetFileTime_"12:00:00"
例: 現在の日時に設定: SetFileTime_"%Date% %Time%"
- SetIndex_インデックス
- ファイルリストのカーソル位置(0〜)を設定します。インデックスが範囲を超えている場合は最下行に移動します。
→ PushIndex → PopIndex - Sleep_待ち時間[S|M|H]
- 時間待ちします。この間もESCキーによる中断は可能です。
数字だけの指定ではミリ秒単位になります。数字の後に S を付けると秒、M で分、H で時間単位になります。
→ Timer - Test_変数名{==|!=|<=|>=|<|>}文字列
-
変数の内容と文字列を、大文字・小文字を区別せずに比較します。
比較は自然順ですので、桁数の違う数字なども数値のように扱えます。また日時の比較も可能です。
※変数同士を比較する場合は、Test_変数A==%変数B% というようになりますので注意してください。結果は後続の If 文の条件(True、False)として利用できます。
→ Set → Input - Timer_時間[S|M|H]
Timer_"hh:mm[:ss]" - 設定した時間が経過するか、設定時刻を過ぎると、If 文の TimeOut 条件が成立します。
時間が数字だけの場合はミリ秒単位、数字の後に S を付けると秒、M で分、H で時間単位になります。
なお、すでに設定時刻を過ぎている場合は、翌日の時刻とみなします。例: Timer_90M→ Sleep
例: Timer_"12:00:00"
※時刻は : を含むため必ずダブルクォーテーションで囲んでください。 - Trim_変数名
- 変数の左右端から空白および制御文字を取り除きます。
- WaitForKey[_変数名]
- 何かキーが押されるまで待ちます。パラメータに変数名を指定すると、押されたキーの名前を取得できます。
例
Hint_!続けますか(Y/N)? WaitForKey_KEY Hint Test_KEY==Y IfFalse_Exit
- WaitForTask
- ExeCommands コマンドで開始されたタスクの終了を待ちます。それ以前に実行されていたタスクについては考慮しません。
タスクマネージャで中断すると、以降のコマンドも中断されます。 - WaitForTask2
- すべてのタスクの終了を待ちます。
タスクマネージャで中断すると、以降のコマンドも中断されます。 - Warn_メッセージ
- ヒントウィンドウやステータスバーに警告メッセージを表示します。
→ Hint - WriteINI_キー名=文字列
- NyanFi.INI [ExeCommands] セクションの指定キーに文字列を書き込みます。
なお、INIファイルが実際に更新されるのは NyanFi の終了時です。このコマンドによってINIファイルへのアクセスは生じません。
→ ReadINI
制御文
ExeCommands コマンドのパラメータまたはコマンドファイル内では、以下の制御文を使用できます。
- If 文
-
構文1: If条件_{Exit|Break|Continue|Goto_ラベル名}
構文2: If条件: コマンド:... EndIf
構文3: If条件: コマンド:... Else: コマンド:... EndIf
条件の前に Not (! でも可)を付けると否定になります。また .and. や .or. で条件を連結することで複合条件文にすることもできます(例: IfLeft.and.NotRoot_Exit)。
条件には以下のものがあります。
Top ファイラーでリストの最上行/ テキストビュアーで最上行/ イメージビュアーで最初の画像 End ファイラーでリストの最下行/ テキストビュアーで最下行/ イメージビュアーで最後の画像 Left ファイラーでカレントが左側 Right ファイラーでカレントが右側 Sel ファイラーのカレント側で選択あり/ テキストビュアーで選択中/ イメージビュアーで選択あり SelMask ファイラーでカレントに選択マスク/フィルタマスク/栞マークマスクあり PathMask ファイラーでカレントにパスマスクあり Empty ファイラーでカレントが空 Root ファイラーでカレントがルートディレクトリ Remote ファイラーでカレントがネットワーク・ドライブ Removable ファイラーでカレントがリムーバブル・ドライブ Virtual ファイラーでカレントがアーカイブの仮想ディレクトリ Found ファイラーでカレントが検索結果リスト/ テキストビュアーで直前の文字列/リンク先/マーク行検索で発見 Work ファイラーでカレントがワークリスト FTP ファイラーでカレントがFTPのリモート側 ADS ファイラーでカレントが代替データストリーム一覧 Git ファイラーでカレントがGit作業ディレクトリ Selected カーソル位置が選択中 Marked カーソル位置が栞マーク項目/ テキストビュアーでカーソル行がマークされている Dir カーソル位置がディレクトリ File カーソル位置がファイル Arc カーソル位置がアーカイブファイル(拡張子で判定) Image カーソル位置が画像ファイル(アイコンは除く) Binary カーソル位置がバイナリ・ファイル/ テキストビュアーでバイナリ・ダンプ表示 Log カーソル位置が NyanFi ログファイル/ テキストビュアーでログを閲覧中 HtmTxt テキストビュアーでHTML→テキスト変換表示 Grep 文字列検索(GREP)の結果リストからテキストビュアーを開いている Task タスク実行中 Suspend タスク予約項目の実行を保留中 Connected インターネット接続 Yes 直前の MsgBoxYN、MsgBoxYNC で「はい」、Input で「OK」が押された No 直前の MsgBoxYN、MsgBoxYNC で「いいえ」が押された Cancel 直前の MsgBoxYNC または Input で「キャンセル」が押された True 直前の MatchBuffer、MatchDir、MatchExt、MatchName、ActivateWnd でマッチ、Test、FileExists の結果が真 False 直前の MatchBuffer、MatchDir、MatchExt、MatchName、ActivateWnd でマッチしなかった、または Test、FileExists の結果が偽 TimeOut Timer で設定した時間が経過するか、設定時刻を過ぎた Shift Shiftキーが押されている Ctrl Ctrlキーが押されている Alt Altキーが押されている Primary 最初に起動された NyanFi Duplicated 複数の NyanFi が起動されている
構文1では、条件が真の場合、以下のような処理が可能です。
Exit ExeCommands コマンドの実行を終了 Break Repeat 文から抜ける Continue Repeat 文内で以降の処理を飛ばして継続 Goto_ラベル名 ラベル位置へジャンプ
構文2、3の場合、If 文の中にさらに If 文を含めることができます。
- Repeat 文
-
構文: Repeat[_繰り返し回数 | _IN | _YN]: コマンド:... EndRepeatRepeat 〜 EndRepeat 間のコマンドを指定回数だけ繰り返し実行します。例: Buffer に001〜100の連番を設定
パラメータに IN を指定すると繰り返し回数の入力ボックスが出ます。
また YN を指定すると繰り返しのたびに継続の確認ボックスが出ます。
何も指定しない場合は無限ループになりますので、If 文のパラメータ Break で抜ける必要があります。
なお Break および Continue は単独の文としても使用できます。
多重 Repeat 文も可能です(最大8重)。
Set_番号=001 Repeat_100 Add_Buffer<<%番号% Set_番号+=1 EndRepeat
- Goto 文
-
構文: Goto_ラベル名指定したラベル位置へジャンプします。例:
ラベルは、文字列の先頭に "#" を付けて定義してください。
なお、Repeat 文内ではラベルを使用できません。
IfTrue … … Else Goto_失敗 EndIf #失敗 MsgBox_失敗しました
例
左右を特定のディレクトリに変更
ToLeft: ChangeDir_C:\hoge: ChangeOppDir_D:\nyanカレント側で、最初のファイル位置にカーソルを移動
CursorTop: SearchDownF_/.+/選択マスク/パスマスクがあれば解除、なければタスクマネージャを開く
IfSelMask.or.PathMask: ClearMask: Else: TaskMan: EndIfカーソル位置がディレクトリなら容量を計算、ファイルならファイル情報をダイアログで表示
IfDir: CalcDirSize: Else: ShowFileInfo_SD: EndIfカーソル位置が .lnk ファイルならリンク先を、ディレクトリならそれを反対側に開く。
MatchExt_lnk: IfTrue: LinkToOpp: Else: CsrDirToOpp: EndIf同名ファイルがあっても確認なしで強制上書きコピー
SetCopyMode_O: Copy空のディレクトリを削除
SelEmptyDir: Delete_SOランダムに背景画像を設定(IMG_00.jpg〜IMG_10.jpg)
Random_画像=IMG_010.jpg: LoadBgImage_%画像%カレントのディレクトリがパスに登録されているか?
MatchDir_%PATH%: IfTrue: MsgBox_パスに登録されています: EndIfカーソル位置のテキストファイルをクリップボードに読み込む
IfFile: LoadBuffer_%FileName%: SetClipboard_%Buffer%: EndIfカレントで選択中のファイル名リストを指定ファイルに保存
Set_Buffer=%SelFiles%: SaveBuffer_D:\filelist.txtすべてのタスクが終了したら Windows を終了
WaitForTask2: PowerOff
コマンドファイルの例
NyanFi の設定ファイルなどをアーカイブ(Backup\NyanIni_yymmdd.zip)にまとめてバックアップ。
ToLeft PushDir ChangeDir_%ExePath% MaskSelect_NyanFi.INI;Calculator.INI;DirHistory.INI;Distribute.INI;FontSample.INI;Highlight.INI;Swatchbook.INI;TAGDATA.TXT;WEBMAP.HTM;DriveLog.csv IfSel PushDir_OP ChangeOppDir_%ExePath%Backup Pack_NyanIni_\DT(yymmdd).zip PopDir_OP EndIf PopDirD:\hoge\backup に移動し、7日前の日付より古いファイルを選択して削除、終わったら元の場所に戻る。
Echo_古いバックアップを削除 PushDir ChangeDir_D:\hoge\backup DateSelect_<-7D IfSel MsgBoxYN_古いファイルを削除しますか? IfYes MsgOff Delete_SO WaitForTask EndIf Else Warn_削除対象がありません EndIf PopDir(カーソル位置がディレクトリまたはアーカイブならその中へ入り)最初の栞マークファイル(無ければ最初の .jpg)をイメージビュアーで開く。
IfDir OpenStandard Else IfArc OpenStandard EndIf EndIf CursorTop NextMark IfNotMarked SearchDownF_/.+\.jpg/ IfFalse_Exit EndIf ImageViewerカレントに画像ファイル(*.jpg、*.png、*.gif)があれば選択して反対パスにアーカイブ(Image.zip)を作成。
MaskSelect_*.jpg;*.png;*.gif IfSel Pack_image.zip MsgBox_アーカイブを作成しました Else Warn_画像ファイルがありません EndIfカーソル位置がアーカイブだったら開き、*.txtを選択して削除、アーカイブを抜けてカーソルを下に移動、という動作をファイルリストの最下行まで繰り返す。終了したらタイトルバーを点滅させサウンド(OK.WAV)を鳴らす。
EchoT_アーカイブ内のテキストを削除 MsgOff Repeat IfArc OpenStandard MaskSelect_*.txt Delete_SO ToParent EndIf IfEnd_Break CursorDown EndRepeat FlashWin_3_200 PlaySound_OK.WAV現在時刻が17:00:00以降なら D:\hoge 以下のファイルで14日前の日付より古いものを削除し、NyanFi を終了。
EchoT_終了時処理 Test_Time>="17:00:00" IfTrue MsgOff PushDir ChangeDir_D:\hoge MaskFind_*.* IfFound DateSelect_<-14D Delete_SO ReturnList EndIf WaitForTask PopDir Echo_OK EndIf Closeログウィンドウを拡大表示(プレビュー、ファイル情報非表示) / 通常表示。
ReadINI_状態=LogOnly Test_状態==YES IfTrue ;通常表示に戻す ShowPreview_ON: ShowProperty_ON: SetSubSize_240 Set_状態=NO Else ;ログを拡大表示 ShowPreview_OFF: ShowProperty_OFF: SetSubSize_480 Set_状態=YES EndIf WriteINI_LogOnly=%状態%テキストビュアーで、マーク行の一覧をクルップボードに取得。
Test_ScrMode==TV: IfFalse_Exit TextTop IfMarked Add_Buffer<<%LineText% EndIf Repeat FindMarkDown IfNotFound_Break Add_Buffer<<%LineText% EndRepeat Test_BufferCount>0 IfTrue SetClipboard_%Buffer% EndIfESCキーに割り当てて、状態に応じた動作を行う。
;FTP切断 IfFTP FtpDisconnect: Exit EndIf ;タスクマネージャ IfTask TaskMan: Exit EndIf ;選択マスクを解除 IfSelMask SelMask_CA: Exit EndIf ;通常リストに戻る IfVirtual.or.Found.or.Work.or.ADS ReturnList: Exit EndIf ;パスマスクを解除 IfPathMask ClearMask: Exit EndIf ;選択を解除 ClearAll掲示板「NyanFiだニャン その3」をテキストビュアーで表示し、最新位置へ移動。
IfConnected HtmlToText_ON TextViewer_"https://egg.5ch.net/test/read.cgi/software/1508314110/" TextEnd FindUp_"/^\d{1,4}\s/" Else Warn_未接続! EndIf掲示板「NyanFiだニャン その3」をテキストに変換して保存し、末尾200行を一覧ダイアログで表示(コメントの先頭行を強調)。
Set_ログ="D:\Data\NyanFiだニャン_その3.txt" IfConnected Download_"https://egg.5ch.net/test/read.cgi/software/1508314110/>>%ログ%" ListTail_"200;TE;/^\d{1,4}\s.+\sID:/;%DownloadName%" Else Warn_未接続! EndIfカーソル位置がインターネットショートカットなら、そのページをテキストビュアーで表示
MatchExt_.url IfFalse_Exit LoadBuffer_%FileName% FilterBuffer_"/^URL=/" Test_BufferCount>0 IfFalse_Exit Set_BufferIndex=0 Set_URL=%BufferLine% Mid_URL;5 HtmlToText_ON TextViewer_%URL%
※アーカイブの sample_cmd ディレクトリには、コマンドファイルのサンプルがあります。