我有一个批处理文件install_license.bat
,该文件安装了我们软件的许可证。批处理文件仅运行一个Java类,该类可以完成所需的工作。批处理文件需要两个参数,即动作安装和许可证文件的路径,这两个参数又传递给java类。
C:\MySoftware\install_license.bat install "D:\documents\myLicense.lic"
作为安装程序的一部分,我们希望提供一个选项供用户输入许可的路径。如果用户输入路径,则以上批处理文件应作为安装过程的一部分运行,否则,应跳过许可证安装,即以上批处理不应运行。
我知道如何从安装程序中触发一批
。但是,实际安装许可证的Java程序在以下行中向用户提示:
Continue with license file installation? [y/N]
基于用户输入的yes
或no
,许可证文件的安装将继续。我无法控制该java类的工作方式,因此无法对其进行修改。
是否可以通过NSIS处理这种情况。也就是说,在运行批处理时,NSIS传递“ y”以继续安装许可证文件吗?
这是蝙蝠文件:
@REM install_license.bat
@ECHO off
setlocal
set CMD_LINE_ARGS=
REM Gather all command line switches
:next_parm
IF [%1] == [] GOTO break_parm
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
SHIFT /1
GOTO next_parm
:break_parm
set LICENSE_PARAMETER=-Dinstalled.licenses.file="%INSTALLED_LICENSE_PATH%"
call "%_MY_JAVA%" %LICENSE_PARAMETER% -DCONSOLE_HOME=. -Dlog4j.configuration=log4j.xml -cp %CLASSPATH% org.somepackage.MyClass %CMD_LINE_ARGS%
endlocal
答案 0 :(得分:1)
要将默认结果发送到大多数内部@RestController
//@RequestMapping(value = "/handler")
public class ErrorController {
@RequestMapping(value = "/errors")
public String renderErrorPage(HttpServletRequest httpRequest) {
System.out.println("DEBUG::come to error page");
return "test error";
}
}
命令和某些外部命令,您只需要回显结果并将其通过管道传递给命令:
cmd