2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« バッチ、VBS、コンソールアプリの起動時にコマンドラインを編集する。 | トップページ | PowerShellでクリップボードを使う。 »

2007年8月 4日 (土)

Doskeyのコマンド履歴にコマンドラインを事前設定する(その2)

コマンドを実行しないで、事前にDoskeyのコマンド履歴にコマンドラインを事前設定することが出来るか?

もし、それが出来れば、最初からコマンド履歴の編集機能が使えて便利です。

そこで、以下のようなバッチファイルを作って実行します。

@ECHO OFF
REM SendKeys.exe %{f7}
SendKeys.exe if 1==2 {(}^^m
SendKeys.exe あああああ^^m
SendKeys.exe いいいいい^^m
SendKeys.exe ううううう^^m
SendKeys.exe {)}^^m
SendKeys.exe {f7}

コンソールアプリ版の日本語が通るSendKeys.exeを使用します。
これをPATHに入れておくか、そのフルパス名を指定します。

Alt+F7キーで履歴を消去します。

コマンドプロンプトで、
if 1==2 (
)
の間が実行されないことを利用します。

^mは、CRです。^はエスケープ^が必要。
ENTERキーは、誤爆時に危険なので使わないほうがよいでしょう。

F7キーで履歴をダイアログ表示します。

« バッチ、VBS、コンソールアプリの起動時にコマンドラインを編集する。 | トップページ | PowerShellでクリップボードを使う。 »