これはコマンド ラインで直接行うことはできませんが、マクロファイルを使用して行うことができdoskeyます。マクロファイルは、次のような紛らわしい魔法$gを使用する必要さえありません。それらはシェルの一部ではないため、シェルの特殊文字は通常どおり使用でき、マクロが定義される前にシェルによって解釈されるのではなく、マクロの定義に含まれます。
好きな場所 (例: %USERPROFILE%\mymacros.txt) にファイルを作成し、次の行をその中に入れます。
logged_build=build >build.log 2>&1
次に、次を実行してマクロをロードします。
doskey /MACROFILE=%USERPROFILE%\mymacros.txt
ファイルに多くのマクロを入れて、それらを一度にロードすることもできます。これにより、コマンド プロンプト全般のカスタマイズも簡単になります。既存のCommand Promptショートカットを変更するか、に基づいて新しいショートカットを作成して、cmd.exe次のようにすることができますTarget。
%windir%\system32\cmd.exe /K doskey /MACROFILE=%USERPROFILE%\mymacros.txt
ショートカットをクリックすると、すべてのマクロがプリロードされたコマンド プロンプトが作成されます。ユーザーにインタラクティブなプロンプトを表示する前に、シェルで後続のコマンド/Kを実行するオプション。cmd.exeプロンプトがすべてのマクロを自動的に定義する場合、毎回マクロを設定する必要がなく、多くの手間が省けます。
cmd.exeまたは、個々のショートカットを変更する必要がないように、変更されたショートカットを使用せずに、直接呼び出されたとしても、何があってもマクロをロードするレジストリ キーを設定できます。とにかく走れ:
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "doskey /MACROFILE=%USERPROFILE%\mymacros.txt"
自分自身だけでなく、すべてのユーザーにグローバルに適用するように変更HKCUすることもできHKLMますが、その場合、マクロ ファイルを自分のユーザー プロファイルではなく、共通の場所に配置する必要があります。面倒なことに、REG_EXPAND_SZこのような場合に for を使用することはできません (これにより、変数を使用して、各ユーザーのプロファイル ディレクトリに関連するファイル%USERPROFILE%にグローバルHKLM設定を設定したり、プロファイルが再配置された場合を処理したりできます) が、うまく機能します。足りる。