Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何为使用Inno安装程序运行的批处理文件提供输入?_Batch File_Inno Setup - Fatal编程技术网

Batch file 如何为使用Inno安装程序运行的批处理文件提供输入?

Batch file 如何为使用Inno安装程序运行的批处理文件提供输入?,batch-file,inno-setup,Batch File,Inno Setup,要安装我们的程序,我们需要运行批处理文件(安装整个应用程序),它会提示用户一些问题,我们会以“是/否”格式提供答案。我正在编写一个脚本,并在脚本中调用该批处理文件来安装整个程序。现在,我想做的是在安装过程中隐藏控制台,并通过脚本提供所有答案。最简单的解决方案是修改批处理文件以执行您希望它执行的操作,而无需询问 如果无法执行此操作(例如,如果批处理文件是第三方文件),则必须从文本文件重定向其输入 创建包含答案的文本文件(例如answers.txt): 创建一个包装批处理文件,该文件运行安装批处理

要安装我们的程序,我们需要运行批处理文件(安装整个应用程序),它会提示用户一些问题,我们会以“是/否”格式提供答案。我正在编写一个脚本,并在脚本中调用该批处理文件来安装整个程序。现在,我想做的是在安装过程中隐藏控制台,并通过脚本提供所有答案。

最简单的解决方案是修改批处理文件以执行您希望它执行的操作,而无需询问


如果无法执行此操作(例如,如果批处理文件是第三方文件),则必须从文本文件重定向其输入

创建包含答案的文本文件(例如
answers.txt
):

创建一个包装批处理文件,该文件运行安装批处理,并从应答文件(
wrapper.bat
)重定向其输入:


这是一个相当广泛的问题。您对流程的哪一部分有问题?1) 如何在Inno安装脚本中询问用户?2) 如何将答案传递到批处理文件?3) 如何处理批处理文件中的答案?感谢Martin的回复。我只是想知道,当批处理文件要求用户输入时,如何将答案传递给批处理文件,是否可以在主UI上为这些问题创建一个复选框,以便在运行时提供相同的答案。对不起,您没有回答我的问题。不管怎样,我已经试着回答了。答案和你的问题一样模糊。谢谢Martin,它确实可以工作,但是install.bat是否有可能从answers.txt读取一些空值,因为我在最后遇到了一些错误。Martin是否可以从Inno脚本向批处理文件提供输入,因为我不想使用wrapper.bat文件?如果我这样做,我将无法使用隐藏我的install.bat文件,因为runhidden标志只会隐藏wrapper.bat文件。最后出现一些错误:这很模糊。因为runhidden标志只会隐藏wrapper.bat文件,这是不正确的。你试过了吗?
y
n
y
y
@echo off
install.bat < answers.txt
[Files]
Source: "install.bat"; DestDir: "{app}"
Source: "wrapper.bat"; DestDir: "{app}"
Source: "answers.txt"; DestDir: "{app}"

[Run]
Filename: "{app}\wrapper.bat"; Flags: runhidden