Pagina 1 van 1
[VisualBasic.net] Executing command
Geplaatst: 04 jun 2004, 17:54
door aikon
Ik wil dus met VB.net het volgende command executen
Nu heb ik het geprobeerd met de volgende code
zonder parameters doet hij het dus perfect, maar met parameters geeft hij gewoon al output het command zelf
Ook Shell() heeft geen soelaas gebracht.
Heeft iemand ervaring met uitvoering van (DOS) commands?
Code: Selecteer alles
Private Sub MenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem5.Click
TextBox1.Text = ExecuteApp("systeminfo")
FileOpen(1, "c:\output.txt", OpenMode.Output)
PrintLine(1, TextBox1.Text)
FileClose(1)
End Sub
Public Function ExecuteApp(ByVal cmd As String) As String
Dim output As String
Dim errors As String
'create a tempfilecollection for output and error messages
Dim tf As New System.CodeDom.Compiler.TempFileCollection()
'execute the command
System.CodeDom.Compiler.Executor.ExecWaitWithCapture(cmd, tf, output, errors)
'read the file with the output of the command and return its content
Dim sr As System.IO.StreamReader = System.IO.File.OpenText(output)
ExecuteApp = sr.ReadToEnd
sr.Close()
'Delete the temporary files
System.IO.File.Delete(output)
System.IO.File.Delete(errors)
End Function
Geplaatst: 05 jun 2004, 13:26
door khsw
Wijzig de command-call naar
Code: Selecteer alles
System.CodeDom.Compiler.Executor.ExecWaitWithCapture(Chr(34) & "systeminfo" & Chr(34) & " /FO CSV /NH", tf, "output", "errors")
Op deze manier maak je duidelijk onderscheid tussen het commando op zich en de parameters, je krijgt dan "systeminfo" /FO CSV /NH, anders wordt het command "systeminfo /FO CSV /NH" als 1 opdracht beschouwd, en dat programma bestaat natuurlijk niet.
Als je geen voorstander bent van chr(34) (hoewel ik dit leesbaarder vind), wijzig je dit maar naar
Code: Selecteer alles
System.CodeDom.Compiler.Executor.ExecWaitWithCapture("""systeminfo" & """ /FO CSV /NH", tf, "output", "errors")
Geplaatst: 06 jun 2004, 11:44
door aikon
Hé danku, dat ik daar zelf niet aan gedacht heb.
Nu nog een klein schoonheidsfoutje
output en errors zijn variabelen en moeten bijgevolg niet ingesloten worden door aanhalingstekens
Code: Selecteer alles
System.CodeDom.Compiler.Executor.ExecWaitWithCapture(Chr(34) & "systeminfo" & Chr(34) & " /FO CSV /NH", tf, output, errors)
Is er trouwens ergens een volledige lijst van Char(xx) te vinden?
Want heb me als eens rotgegoogled en ook de msdn brengt niet veel soeps.
Geplaatst: 06 jun 2004, 14:02
door khsw
Oeps, die quotes stonden daar nog omdat ik daar rechtstreeks "c:\output.txt" en "c:\errors.txt" had gezet om ff te testen.
De Chr(xx) lijst kan je gemakkelijk zelf reproduceren:
Code: Selecteer alles
Dim i As Integer
For i = 0 To 255
System.Diagnostics.Debug.WriteLine("Chr(" & i & ") = '" & Chr(i) & "'")
Next
De karakters kleiner dan 32 kunnen niet afgebeeld worden.
8 = backspace
9 = tab
10 = linefeed
13 = carriage return
Geplaatst: 06 jun 2004, 14:06
door aikon
die laatste moest ik hebben thx
Kan ik weer heel wat verder
Geplaatst: 08 jun 2004, 10:47
door Foenne
Of je kan ff op google 'Ascii table' intypen en dan vind je onder andere de volgende
http://www.asciitable.com/, daar vind je een lijst met alle tekens en hun overeenkomstige decimaal, hexadecimaal en octaal cijfer!
Geplaatst: 09 jun 2004, 09:26
door Stino
aikon schreef:maar niet om om de haverklap jou simplistische vragen op te lossen
Het valt me op (en ik ben heus niet de enigste) dat je zelf NOOIT zoekwerk verricht. Hef je luie kont eens op (hoeft zelfs niet eens) en verricht wat zoekwerk. Is zelfs dat je teveel, dan kan je beter terug in de zandbak gaan spelen
aikon schreef:DIt maak je
zoAdmins plz close
aikon schreef:Misschien kan je in het vervolg beter zelfs eens wat research doen ipv het altijd te vragen
Je hebt 2 dingen :
1. Help functie
2. Google
Geplaatst: 09 jun 2004, 10:53
door meon
Stout Stino, stout
Geplaatst: 09 jun 2004, 11:04
door Spock
Het "Wie de bal kaatst mag hem altijd terug verwachten"-principe werkt blijkbaar nog altijd
Geplaatst: 09 jun 2004, 20:59
door aikon
Ehm
ik heb me rot gezocht op google en op sites zoals psc die HEEL VEEL informatie bevatten!!! En ik spreek hier niet over een uurtje maar over ettelijke UREN... die helaas soms te laat zijn uitgelopen.
Ik ben trouwens een echte googler, ik zit per dag !!!gemiddeld!!! een uur op google!
Dus mij kan men niets verwijten dat ik niets opzoek
Ohja , het was dan ook geen vraag van het type
Hoe maak ik het beste een site
Maar een vraag waarvan ik zelf een grootdeel van de grondvesting had gelegd en blijkbaar maar een kleine aanpassing nodig had.
Geplaatst: 09 jun 2004, 23:11
door Stino
Stino schreef:Ja, als we zo beginnen kunnen we inneens het hele forum sluiten eh. Als je iets nog niet weet over een onderwerp, kan je nog niet zo efficient dingen er over opzoeken op google.
Maarja, blijkbaar is het tegenwoordig 'in' op alle forums bij elke vraag te antwoorden met: "Kijk op google".
Hiermee ontken ik niet dat er soms te gemakkelijke vragen worden gesteld, maar dit was er zo geen, zoals meon al zei.
Zoals ik dus al
eerder zei, je moet niet op iedereen beginnen 'kakken' die een vraag stelt. Voor sommige mensen is het gewoon niet zo simpel, en als je niet weet waarop je moet zoeken, zoals waarschijnlijk het geval was bij 'ascii table' dan is het gewoon niet simpel te vinden wat je zoekt soms. Ik trek je google-zoek-kwaliteiten zeker niet in vraag....
Maar nu genoeg gezeverd over dat google-gedoe....you get my point.
Stino
Geplaatst: 10 jun 2004, 08:08
door aikon
Stino schreef:Stino schreef:Ja, als we zo beginnen kunnen we inneens het hele forum sluiten eh. Als je iets nog niet weet over een onderwerp, kan je nog niet zo efficient dingen er over opzoeken op google.
Maarja, blijkbaar is het tegenwoordig 'in' op alle forums bij elke vraag te antwoorden met: "Kijk op google".
Hiermee ontken ik niet dat er soms te gemakkelijke vragen worden gesteld, maar dit was er zo geen, zoals meon al zei.
Zoals ik dus al
eerder zei, je moet niet op iedereen beginnen 'kakken' die een vraag stelt. Voor sommige mensen is het gewoon niet zo simpel, en als je niet weet waarop je moet zoeken, zoals waarschijnlijk het geval was bij 'ascii table' dan is het gewoon niet simpel te vinden wat je zoekt soms. Ik trek je google-zoek-kwaliteiten zeker niet in vraag....
Maar nu genoeg gezeverd over dat google-gedoe....you get my point.
Stino
Jups ... no offense hoor