我通过批处理脚本(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时,不会出现调试输出。
有人能帮忙吗?
发布于 2016-04-14 10:03:37
如果您通过doskey /?显示了文档帮助,就会得到这样的信息:“在DOS提示符下召回和编辑命令,并创建宏”。批处理文件不是DOS提示:DOS键命令使用按下的键作为输入,比如箭头或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));发布于 2017-04-27 02:43:35
例如,尝试运行此文件,junk.bat:
doskey m=echo hi
cmd /k "echo try typing m now"https://stackoverflow.com/questions/36616151
复制相似问题