在 Inno Setup 中执行命令后如何保留控制台 window
How can I keep console window after executing a command in Inno Setup
我有一个像这样的脚本:
Filename: "{cmd}"; Parameters: "/C "" sqlcmd -S {code:ServerName} -U {code:UserLOG} """ ; \
Flags: nowait skipifsilent
我怎样才能保留控制台 window 直到用户看到它?
我需要向用户显示该控制台上的操作结果 window。
使用pause
Windows命令,如:
Filename: "{cmd}"; Parameters: "/C ""sqlcmd ... & pause"""; Flags: nowait skipifsilent
请注意,您实际上不需要通过 cmd.exe
({cmd}
) 运行 sqlcmd
。你可以直接运行。但是要将 sqlcmd
与 pause
结合起来,您需要 cmd.exe
.
如果命令本身需要空格(比如需要使用 {app}\MyProg.exe
),请使用此语法:
Filename: "{cmd}"; Parameters: "/C """"{app}\MyProg.exe"" ... & pause"""; ...
如果您调用 cmd /K
... 而不是 cmd /C
... 您的安装脚本会打开一个新控制台(在控制台 window 内),该控制台不会自动关闭并且必须由用户关闭。因此,您可以读取输出。
您可以在以下位置找到完整的参数列表:
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmd
我有一个像这样的脚本:
Filename: "{cmd}"; Parameters: "/C "" sqlcmd -S {code:ServerName} -U {code:UserLOG} """ ; \
Flags: nowait skipifsilent
我怎样才能保留控制台 window 直到用户看到它?
我需要向用户显示该控制台上的操作结果 window。
使用pause
Windows命令,如:
Filename: "{cmd}"; Parameters: "/C ""sqlcmd ... & pause"""; Flags: nowait skipifsilent
请注意,您实际上不需要通过 cmd.exe
({cmd}
) 运行 sqlcmd
。你可以直接运行。但是要将 sqlcmd
与 pause
结合起来,您需要 cmd.exe
.
如果命令本身需要空格(比如需要使用 {app}\MyProg.exe
),请使用此语法:
Filename: "{cmd}"; Parameters: "/C """"{app}\MyProg.exe"" ... & pause"""; ...
如果您调用 cmd /K
... 而不是 cmd /C
... 您的安装脚本会打开一个新控制台(在控制台 window 内),该控制台不会自动关闭并且必须由用户关闭。因此,您可以读取输出。
您可以在以下位置找到完整的参数列表: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmd