6

バッチ スクリプト ( script1.bat ) を介して DOSKEY エイリアスを追加し、別のバッチ スクリプトでそれを呼び出そうとしました。うまくいきません。

script1.bat:

set USER_SETTINGS=%DRIVE%\programme\settings.xml
DOSKEY mvn=mvn --settings %USER_SETTINGS% -X $*

script2.bat:

mvn clean install

mvn clean installコンソールから呼び出すと、機能します。デバッグ出力は準備中です。同じコンソールからscript2.batを呼び出すと、デバッグ出力が表示されません。

誰でも助けることができますか?

4

2 に答える 2

4

経由で doskey ヘルプを表示すると、「DOS プロンプトでコマンドを呼び出して編集し、マクロを作成する」のようなメッセージが表示されdoskey /?ます。バッチ ファイルはDOS プロンプトではありません。DOS KEYコマンドは、矢印や F7 キーのように、入力として押されたキーで機能します。

このため、次のコードが機能するはずです。

script2.bat :

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

rem Send the keys with the DOSKEY macro name:
%SendKeys% "mvn clean install{ENTER}"

goto :EOF


@end


// JScript section


WshShell.SendKeys(WScript.CreateObject("WScript.Shell").Arguments(0));

詳細については、バッチ ファイルを使用してキーボード キーを押すを参照してください。

于 2016-04-14T10:03:37.790 に答える