PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [vb.net] CMD Inhalt in das Form übernemen



blacky5
15.03.2009, 12:19
Angenommen, ich sende über einen Button klick den Befehl

shell("cmd /k ipconfig /all")und möchte nun, das was ausgegeben wird, in eine RichTextBox übernehmen.
Geht dies einfacher als den Befehl umzulenken in einer Textdatei und dann die Textdatei auslesen per StreamReader ?

shell("cmd /k ipconfig /all > c:\ipc.txt")

Dim strFileName As String
strFileName = pfad
Dim reader As StreamReader
Dim enc As System.Text.Encoding
enc = System.Text.Encoding.ASCII
If File.Exists(strFileName) = True Then
reader = New StreamReader(strFileName, enc)
While (reader.Peek > -1)
temp = temp & reader.ReadLine & vbCrLf
End While
strValue = temp
reader.Close()
Else
strValue = "Keine Datei gefunden"
End If

l4nk4b3l
15.03.2009, 13:46
Hier der code in c# sollte einfach sein den in vb.net zu transferieren




string befehl = @"C:\Windows\System32\ipconfig.exe";
string argumente = @"/all";

Process prog = new Process();

prog.StartInfo.FileName = befehl;
prog.StartInfo.Arguments = argumente;
prog.StartInfo.UseShellExecute = false;
prog.StartInfo.RedirectStandardOutput = true;
prog.StartInfo.CreateNoWindow = true;
prog.Start();

richTextBox1.Text = prog.StandardOutput.ReadToEnd();

prog.WaitForExit();

j0n4s
15.03.2009, 14:51
Dim befehl As String = "C:\Windows\System32\ipconfig.exe"
Dim argumente As String = "/all"

Dim prog As New Process()

prog.StartInfo.FileName = befehl
prog.StartInfo.Arguments = argumente
prog.StartInfo.UseShellExecute = False
prog.StartInfo.RedirectStandardOutput = True
prog.StartInfo.CreateNoWindow = True
prog.Start()

richTextBox1.Text = prog.StandardOutput.ReadToEnd()

prog.WaitForExit()

blacky5
16.03.2009, 21:08
Herzlichen Dank für die Schnelle Antwort, an dem Text habe ich nun noch folgendes Problem, nämlich, der Zeigt das alles an ohne Zeilensprung. Gibts da auch noch was zu machen?

l4nk4b3l
16.03.2009, 22:20
Ich habe es ausprobiert also wenn ich es in eine RichTextBox ausgeben lasse funktioniert es einbahnfrei!

blacky5
17.03.2009, 09:22
Anscheinend funktioniert das in C# ohne Probleme und bei VB wird wohl noch nen Befehl benötigt, mhh oder ich probier mal noch bischen rum, vielleicht weiß trotzdem jemand ne Lösung oder weiß was ich falsch machen kann das es nciht funktioniert.