如何在vb.net

时间:2018-07-16 16:45:40

标签: vb.net batch-file cmd

我有一个 .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)

1 个答案:

答案 0 :(得分:1)

将其扔到VBS中将启动没有窗口或任务栏图标的批处理脚本。与尝试将命令发送到批处理窗口相比,这可能是一种更简单的方法。

Set WshShell = CreateObject("WScript.Shell" ) 
WshShell.Run chr(34) & "C:\Temp\YourFile.bat" & Chr(34), 0