我通过批处理脚本( 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 时,不会有调试输出。
有人可以帮忙吗?
答案 0 :(得分:2)
如果您通过doskey /?
显示doskey帮助,您会得到类似的内容:"在DOS提示符下调用和编辑命令,并创建宏" 。批处理文件不 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));
的详细信息
答案 1 :(得分:-2)
doskey在批处理文件中工作
也许您的doskey字符串不起作用
例如,尝试运行此文件 junk.bat :
search = qn