これはコマンド ラインで直接行うことはできませんが、マクロファイルを使用して行うことができ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
設定を設定したり、プロファイルが再配置された場合を処理したりできます) が、うまく機能します。足りる。