我有一个 .bat 文件,用于在静默模式下运行.Msi。现在,我想从vb.net运行该批处理脚本命令。我尝试使用process.start()
。使用process.start()
打开了文件,但是问题是批处理脚本没有执行,并且没有安装.Msi。我尝试直接从cmd执行相同的命令,它可以正常工作。
现在,有人可以帮我如何从vb.net执行该命令。(有人可以帮我从vb.net启动cmd进程后,将该命令写入cmd窗口)。我尝试使用standardinput.Writeline()
,它正在打开.txt文件,但无法执行用于安装.Msi文件的命令。
Dim command As String="@ echo off msiexec /i
""C:\Users\tparvathaneni\Documents\Visual Studio 2015\Projects\SetupProject1\SetupProject1\bin\Debug\SetupProject1.msi"" /qn REBOOT=ReallySuppress echo pause >NUL shutdown.exe /r/t 000"
Dim proc As New ProcessStartInfo
proc.FileName = "cmd.exe"
proc.RedirectStandardInput = True
proc.RedirectStandardOutput = True
proc.CreateNoWindow = True
proc.UseShellExecute = False
Dim pr As New Process
pr.StartInfo = proc
pr.Start()
pr.BeginOutputReadLine()
pr.StandardInput.WriteLine(command)
答案 0 :(得分:1)
将其扔到VBS中将启动没有窗口或任务栏图标的批处理脚本。与尝试将命令发送到批处理窗口相比,这可能是一种更简单的方法。
Set WshShell = CreateObject("WScript.Shell" )
WshShell.Run chr(34) & "C:\Temp\YourFile.bat" & Chr(34), 0