2015-12-29 3 views
-4

Я получил этот код:не может выполнять команды VB.NET

Try 
     cmd.Kill() 
    Catch ex As Exception 
    End Try 
    TextBox2.Clear() 
    If TextBox1.Text.Contains(" ") Then 
     psi = New ProcessStartInfo(TextBox1.Text.Split(" ")(0), TextBox1.Text.Split(" ")(1)) 
    Else 
     psi = New ProcessStartInfo("C:/Bukkit Runner/run.bat") 
    End If 
    Dim systemencoding As System.Text.Encoding 
    System.Text.Encoding.GetEncoding(Globalization.CultureInfo.CurrentUICulture.TextInfo.OEMCodePage) 
    With psi 
     .UseShellExecute = False 
     .RedirectStandardError = True 
     .RedirectStandardOutput = True 
     .RedirectStandardInput = True 
     .CreateNoWindow = True 
     .StandardOutputEncoding = systemencoding 
     .StandardErrorEncoding = systemencoding 
    End With 
    cmd = New Process With {.StartInfo = psi, .EnableRaisingEvents = True} 
    AddHandler cmd.ErrorDataReceived, AddressOf Async_Data_Received 
    AddHandler cmd.OutputDataReceived, AddressOf Async_Data_Received 
    cmd.Start() 
    cmd.BeginOutputReadLine() 
    cmd.BeginErrorReadLine() 

И Textbox команды

 If TextBox1.Text.Contains(" ") Then 
     psi = New ProcessStartInfo(TextBox1.Text.Split(" ")(0), TextBox1.Text.Split(" ")(1)) 
    Else 
     psi = New ProcessStartInfo(TextBox1.Text$) 
    End If 
    Dim systemencoding As System.Text.Encoding 
    System.Text.Encoding.GetEncoding(Globalization.CultureInfo.CurrentUICulture.TextInfo.OEMCodePage) 
    With psi 
     .UseShellExecute = False 
     .RedirectStandardError = True 
     .RedirectStandardOutput = True 
     .RedirectStandardInput = True 
     .CreateNoWindow = True 
     .StandardOutputEncoding = systemencoding 
     .StandardErrorEncoding = systemencoding 
    End With 
    cmd = New Process With {.StartInfo = psi, .EnableRaisingEvents = True} 
    AddHandler cmd.ErrorDataReceived, AddressOf Async_Data_Received 
    AddHandler cmd.OutputDataReceived, AddressOf Async_Data_Received 
    cmd.Start() 
    cmd.BeginOutputReadLine() 
    cmd.BeginErrorReadLine() 

Но я получаю эту ошибку, если я перестаньте в консоли: http://prntscr.com/9jvf90

Первая команда начала работает нормально. http://prntscr.com/9jvfqe

Что я могу сделать для запуска команд в файле bat?

ответ

0

Как Minecrafter, я ясно вижу, что вы пытаетесь запустить сервер Bukkit.

Возможно, это поможет?

Private Sub MyCode(sender As Object, e As EventArgs) Handles <stuff> 
Try 
Try 
     cmd.Kill() 
    Catch ex As Exception 
    End Try 
    TextBox2.Clear() 
Textbox_TextChanged(sender,e) 
Catch 
End 
End Try 
End Sub 
Private Sub Textbox_TextChanged(sender As Object, e As EventArgs) Handles Textbox1.textChanged, Textbox2.TextChanged 
Try 
     If TextBox1.Text.Contains(" ") Then 
     psi = New ProcessStartInfo(TextBox1.Text.Split(" ")(0), TextBox1.Text.Split(" ")(1)) 
    Else 
     psi = New ProcessStartInfo(TextBox1.Text$) 
    End If 
    Dim systemencoding As System.Text.Encoding 
    System.Text.Encoding.GetEncoding(Globalization.CultureInfo.CurrentUICulture.TextInfo.OEMCodePage) 
    With psi 
     .UseShellExecute = False 
     .RedirectStandardError = True 
     .RedirectStandardOutput = True 
     .RedirectStandardInput = True 
     .CreateNoWindow = True 
     .StandardOutputEncoding = systemencoding 
     .StandardErrorEncoding = systemencoding 
    End With 
    cmd = New Process With {.StartInfo = psi, .EnableRaisingEvents = True} 
    AddHandler cmd.ErrorDataReceived, AddressOf Async_Data_Received 
    AddHandler cmd.OutputDataReceived, AddressOf Async_Data_Received 
    cmd.Start() 
    cmd.BeginOutputReadLine() 
    cmd.BeginErrorReadLine() 
Catch 
End 
End Try 
End Sub 
+0

Спасибо за ответ. Но при работе с этим кодом он сработает. :(Извините за мой плохой английский. – Jordytjes

Смежные вопросы