6

我通过批处理脚本( script1.bat )添加了一个 DOSKEY 别名,并尝试在另一个批处理脚本中调用它。它不起作用。

脚本1.bat:

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

脚本2.bat:

mvn clean install

当我mvn clean install从控制台调用时,它可以工作。调试输出即将发布。当我从同一个控制台调用script2.bat时,没有调试输出。

任何人都可以帮忙吗?

4

2 回答 2

4

如果您通过显示 doskey 帮助,doskey /?您会得到类似:“Recall and edit commands at the DOS prompt, and create macros”。批处理文件不是DOS 提示符:DOS KEY命令与作为输入的键一起使用,例如箭头或 F7 键。

因此,下一个代码应该可以工作:

脚本2.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 回答
-2
  • doskey 可以在批处理文件中工作

  • 也许你的 doskey 字符串不起作用

例如,尝试运行这个文件junk.bat

doskey m=echo hi
cmd /k "echo try typing m now"
于 2017-04-27T02:43:35.633 回答