コマンドプロンプトと同じ事をする
このページでは TextRunRun でコマンドプロンプトと同じ事をする方法について説明します。
コマンドプロンプトの仕様により、コマンドプロンプトのコマンドは以下のパラメータをつけて実行すれば外部のソフトなどから実行ができる様です。
%ComSpec% /c [ コマンド ]
TextRunRun も、この方法を使えばコマンドプロンプトのコマンドを実行する事ができます。
単純にコマンドの実行をする事さえできれば上記の方法でいい事になります。
ですが、これだと実行した結果やエラーの表示がされません。
なので、それを取得できる様にして使える様にします。
コマンドプロンプトと同じ事をするアイテム
コマンドプロンプトと同じ事ができる様にする アイテム を作った例を紹介します。
TextRunRun の fromFileName を使って作った例を挙げます。
global outfile_command =
global outfile_stdout =
global outfile_output = %A_ScriptDir%\output.txt
これは 起動時に実行するアイテム です。
続いて、以下が実行する時に使う アイテム です。
outfile_command = %B_itemArgAll%
if( outfile_command == "" ){
return
}
RunWait, %ComSpec% /c %outfile_command% > "%outfile_output%" 2>&1, , Min
Sleep, 1000
FileRead, outfile_stdout, %outfile_output%
F_output(outfile_stdout)
; FileAppend , %outfile_stdout%, *
%--
以上の
2つのファイルを
item
の中に加え、
startup
の中に
1_outfile_runStdOut
のフォルダを作り、それが起動時に実行されるようにします。
今回のは、一度ファイルに出力させてそれからその内容を読み込む形にしています。
%A_ScriptDir%\output.txt のファイルを使っています。
outfile_runStdOut が実行されると、 TextRunRun の実行ファイルがあるフォルダ内に output.txt が作られ、一度そのファイルに出力されるようにしています。
この様に outfile_runStdOut に引数をつけて実行するとそれがコマンドとして実行できます。
outfile_runStdOut を記入する手間を省くため、 テキスト上のキー から実行できる様にします。
hotkeyOnText の中に以下のファイルを追加します。
outfile_runStdOut
以上で完了です。
Alt+W
で実行できるようにしています。
テキストにコマンドを入力して、 Alt+W を押せば、コマンドプロンプトと同じ様な感じの処理ができる事を確認できると思います。
これを記入して Alt+W を使ってみると、以下の様になります。

今回の Alt+W を使った場合、 TextRunRun のスクリプトを通して使う訳なので、 # # や % % で囲まれた文字を使用する事が出来ます。
この様に、
アイテム
のリンク先を使う事や、
%A_MyDocuments%
といった
AutoHotkey
の組み込み変数も使用できます。
( もちろん、ユーザーが宣言したグローバル変数も使えます。 )
それと、相対パスでファイルを指定する場合は TextRunRun のカレントフォルダが基準になります。
TextRunRun のカレントフォルダは &cd を使って位置を変えます。