doskey

過去に入力されたコマンドライン コマンドを呼び戻し、コマンド ラインを編集し、マクロを作成する Doskey.exe を呼び出します。

構文

doskey [/reinstall] [/listsize=<size>] [/macros:[all | <exename>] [/history] [/insert | /overstrike] [/exename=<exename>] [/macrofile=<filename>] [<macroname>=[<text>]]

パラメーター

パラメーター 説明
/reinstall Doskey.exe の新しいコピーをインストールし、コマンド履歴バッファーをクリアします。
/listsize=<size> 履歴バッファー内のコマンドの最大数を指定します。
/macros すべての doskey マクロの一覧を表示します。 > でリダイレクト シンボル (>) を使用して、一覧をファイルにリダイレクトすることができます。 /macros は、/m に省略できます。
/macros:all すべての実行可能ファイルの doskey マクロを表示します。
/macros:<exename> exename で指定された実行可能ファイルの doskey を表示します。
/history メモリに格納されているすべてのコマンドを表示します。 > でリダイレクト シンボル (>) を使用して、一覧をファイルにリダイレクトすることができます。 /history は、/h として省略できます。
/insert 入力された新しいテキストを古いテキストで挿入するように指定します。
/overstrike 新しいテキストで古いテキストを上書きするように指定します。
/exename=<exename> doskey マクロを実行するプログラム (つまり、実行可能ファイル) を指定します。
/macrofile=<filename> インストールするマクロを含むファイルを指定します。
<macroname>=[<text>] Text で指定されたコマンドを実行するマクロを作成します。 MacroName は、マクロに割り当てる名前を指定します。 Text は、記録するコマンドを指定します。 Text を空白のままにした場合は、割り当てられたコマンドの MacroName がクリアされます。
/? コマンド プロンプトにヘルプを表示します。

解説

  • プログラム デバッガーやファイル転送プログラム (FTP) など、特定の文字ベースの対話型プログラムは、自動的に Doskey.exe を使用します。 Doskey.exe を使用するには、プログラムがコンソール プロセスであり、バッファーされた入力を使用する必要があります。 プログラム キーの割り当てによって、doskey キーの割り当てがオーバーライドされます。 たとえば、プログラムが関数に F7 キーを使用している場合は、ポップアップ ウィンドウで doskey コマンド履歴を取得することはできません。

  • Doskey.exe を使用して現在のコマンド ラインを編集することはできますが、プログラムのコマンド プロンプトからコマンドライン オプションを使用することはできません。 プログラムを開始する前に、doskey コマンドライン オプションを実行する必要があります。 プログラム内で Doskey.exe を使用すると、そのプログラムのキー割り当てが優先され、一部の Doskey.exe 編集キーが機能しない可能性があります。

  • Doskey.exe を使用すれば、開始または反復した各プログラムのコマンド履歴を保持できます。 プログラムのプロンプトで前のコマンドを編集し、プログラム用に作成された doskey マクロを開始することができます。 同じコマンド プロンプト ウィンドウからプログラムを終了して再起動すると、前のプログラム セッションのコマンド履歴が入手可能になります。

  • コマンドを呼び戻すには、Doskey.exe を開始した後で、次のいずれかのキーを使用できます。

    Key 説明
    表示されたコマンドの前に使用したコマンドを呼び戻します。
    下方向キー 表示されたコマンドの後に使用したコマンドを呼び戻します。
    PageUp 現在のセッションで使用した最初のコマンドを呼び戻します。
    PageDown 現在のセッションで使用した最新のコマンドを呼び戻します。
  • doskey 編集キーとその機能を次の表に示します。

    キーまたはキーの組み合わせ 説明
    挿入ポイントを 1 文字後ろに移動します。
    挿入ポイントを 1 文字前に移動します。
    Ctrl + ← 挿入ポイントを 1 単語後ろに移動します。
    Ctrl + → 挿入ポイントを 1 単語前に移動します。
    ホーム 挿入ポイントを行の先頭に移動します。
    End 挿入ポイントを行の末尾に移動します。
    Esc 表示からコマンドをクリアします。
    F1 テンプレート内のある列の 1 文字を、コマンド プロンプト ウィンドウ内の同じ列にコピーします (テンプレートは、入力した最後のコマンドが格納されるメモリ バッファーです)。
    F2 F2 キーを押した後に入力した次のキーをテンプレートで前方検索します。 Doskey.exe は、指定された文字の直前に、テンプレートからのテキストを挿入します。
    F3 テンプレートの残りの部分をコマンド ラインにコピーします。 Doskey.exe は、コマンド ライン上の挿入ポイントによって示される位置に対応するテンプレート内の位置から文字のコピーを開始します。
    F4 現在の挿入ポイント位置から、F4 キーを押した後に入力した文字が次に出現する位置の直前までのすべての文字を削除します。
    F5 テンプレートを現在のコマンド ラインにコピーします。
    F6 現在の挿入ポイント位置にファイル終了文字 (CTRL+Z) を配置します。
    F7 メモリに格納されているこのプログラムのすべてのコマンドをダイアログ ボックスに表示します。 上方向キーと下方向キーを使用して必要なコマンドを選択し、ENTER キーを押してコマンドを実行します。 コマンドの前のシーケンス番号をメモし、その番号を F9 キーと組み合わせて使用することもできます。
    Alt + F7 現在の履歴バッファー用のメモリに格納されているすべてのコマンドを削除します。
    F8 現在のコマンド内の文字で始まる履歴バッファー内のすべてのコマンドを表示します。
    F9 履歴バッファーのコマンド番号の入力を要求し、指定された番号に関連付けられたコマンドを表示します。 Enter キーを押してコマンドを実行します。 すべての番号とそれに関連付けられたコマンドを表示するには、F7 キーを押します。
    Alt + F10 すべてのマクロ定義を削除します。
  • INSERT キーを押すと、テキストを置き換えずに、既存のテキストの途中の doskey コマンド ライン上にテキストを入力できます。 ただし、ENTER キーを押すと、Doskey.exe によってキーボードが置換モードに戻されます。 挿入モードに戻すには、もう一度 INSERT キーを押す必要があります。

  • INSERT キーを使用してモードを切り替えると、挿入ポイントの形状が変化します。

  • Doskey.exe がプログラムと連動する方法をカスタマイズし、そのプログラムの doskey マクロを作成する場合は、Doskey.exe を変更してプログラムを開始するバッチ プログラムを作成できます。

  • Doskey.exe を使用して、1 つ以上のコマンドを実行するマクロを作成できます。 次の表に、マクロを定義するときにコマンド操作を制御するために使用可能な特殊文字を示します。

    文字 説明
    $G または $g 出力をリダイレクトします。 これらの特殊文字のいずれかを使用して、画面ではなく、デバイスまたはファイルに出力を送信します。 この文字は、output (>) のリダイレクト シンボルに相当します。
    $G$G または $g$g ファイルの末尾に出力を追加します。 これらの二重文字のいずれかを使用して、ファイル内のデータを置き換えるのではなく、既存のファイルに出力を追加します。 これらの二重文字は、output (>>) の追加リダイレクト シンボルに相当します。
    $L または $l 入力をリダイレクトします。 これらの特殊文字のいずれかを使用して、キーボードからではなく、デバイスまたはファイルから入力を読み取ります。 この文字は、input (<) のリダイレクト シンボルに相当します。
    $B または $b マクロ出力をコマンドに送信します。 これらの特殊文字は、パイプの (* の使用に相当します。
    $T または $t コマンドを区切ります。 doskey コマンド ラインでマクロを作成したり、コマンドを入力したりするときに、これらの特殊文字のいずれかを使用してコマンドを区切ります。 これらの特殊文字は、コマンド ラインでのアンパサンド (&) の使用に相当します。
    $$ ドル記号 ($) を指定します。
    $1 から $9 マクロの実行時に指定する任意のコマンドライン情報を表します。 特殊文字の $1 から $9 は、マクロを実行するたびにコマンド ラインで異なるデータを使用できるようにするバッチ パラメーターです。 $1 コマンド内の $1 文字は、バッチプログラム内の %1 文字に似ています。
    $* マクロ名の入力時に指定するすべてのコマンドライン情報を表します。 特殊文字の $* は、バッチ パラメーターの $1 から $9 に似た置換可能なパラメーターですが、重要な違いが 1 つあります。コマンド ラインでマクロ名の後ろに入力されたすべての文字が、マクロ内の $* に置き換えられます。
  • マクロを実行するには、コマンド プロンプトでマクロ名を最初の位置から入力します。 マクロが $* またはバッチ パラメーターの $1 から $9 のいずれかで定義されている場合は、スペースを使用してパラメーターを区切ります。 バッチ プログラムから doskey マクロを実行することはできません。

  • 常に、特定のコマンドを特定のコマンドライン オプションと一緒に使用する場合は、コマンドと同じ名前のマクロを作成できます。 マクロとコマンドのどちらを実行するかを指定するには、次のガイドラインに従ってください。

    • マクロを実行するには、コマンド プロンプトでマクロ名を入力します。 マクロ名の前にスペースを追加しないでください。

    • コマンドを実行するには、コマンド プロンプトで 1 つ以上のスペースを挿入してから、コマンド名を入力します。

/macros/history のコマンドライン オプションは、マクロとコマンドを保存するバッチ プログラムを作成する場合に便利です。 たとえば、現在のすべての doskey マクロを保存するには、次のように入力します。

doskey /macros > macinit

Macinit に保存されたマクロを使用するには、次のように入力します。

doskey /macrofile=macinit

最近使用されたコマンドを含む Tmp.bat という名前のバッチ プログラムを作成するには、次のように入力します。

doskey /history> tmp.bat

複数のコマンドを含むマクロを定義するには、次のように、$t を使用してコマンドを区切ります。

doskey tx=cd temp$tdir/w $*

前の例では、TX マクロが、現在のディレクトリを Temp に変更してから、ディレクトリの一覧をワイド表示形式で表示します。 マクロの末尾に $* を使用して、tx オプションを実行するときに、他のコマンドライン オプションを $* に追加することができます。

次のマクロは、新しいディレクトリ名にバッチ パラメーターを使用しています。

doskey mc=md $1$tcd $1

このマクロは、新しいディレクトリを作成してから、現在のディレクトリから新しいディレクトリに変更します。

上記のマクロを使用して、Books という名前のディレクトリを作成し、変更するには、次のように入力します。

mc books

Ftp.exe という名前のプログラム用の doskey マクロを作成するには、次のように、/exename を含めます。

doskey /exename=ftp.exe go=open 172.27.1.100$tmget *.TXT c:\reports$tbye

上記のマクロを使用するには、FTP を開始します。 FTP プロンプトで、次のように入力します。

go

FTP が openmget、および bye コマンドを実行します。

すばやく無条件にディスクをフォーマットするマクロを作成するには、次のように入力します。

doskey qf=format $1 /q /u

ドライブ A のディスクをすばやく無条件にフォーマットするには、次のように入力します。

qf a:

vlist という名前のマクロを削除するには、次のように入力します。

doskey vlist =