我创建了一个简单的batch file
,用于启动我公司内的 * .msi 安装程序,创建该进程的日志文件,然后在安装程序出现后显示日志文件完成。
installAndLog.bat:
msiexec.exe /i "\\FileServer2\setup.msi" /l*v "C:\setupLog.txt"
"C:\setupLog.txt"
它有效,但有两(2)个故障让我烦恼:
和
我当天是DOS爱好者,但那是多年前的事了。
答案 0 :(得分:3)
Q1 - AFAIK你无法真正隐藏控制台窗口。
Q2 - 使用start
命令。这将在shell外部启动指定的程序(记事本)。它还会阻止shell等待应用程序关闭以继续处理批处理脚本。
最好使用start
命令更改批处理脚本以启动MSI安装程序,并在安装完成后让安装程序启动记事本以查看日志文件。
答案 1 :(得分:3)
运行批处理文件时,我认为您无法隐藏控制台窗口。但是,您可以使用vbscript,默认情况下不会创建控制台窗口。
采取以下内容并将其放在扩展名为.vbs的文件中:
Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "msiexec.exe /i ""\\FileServer2\setup.msi"" /l*v ""C:\setupLog.txt""", 1, true
wshShell.Run "C:\setupLog.txt"
所有的双引号都在那里,因为整个命令必须被“s”包围并加倍它们才会逃脱它们。WshShell.Run的文档可以获得更多信息。
答案 2 :(得分:1)
答案 3 :(得分:0)
按计划任务或作为服务以不同用户身份运行dos脚本。