Call in VB.net

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von haufe.

    Call in VB.net

    Hallo

    ich habe eine batch in der fogendes steht

    Quellcode

    1. call tasma -e -t "455842" -t "55468" -r | soma.exe


    wenn ich tasma.exe mit argumenten in vb.net aufrufe, oder ich in der batch call mit start tausche , wird das fenster nur kurz angezeigt und schliest gleich wieder.

    1.) was macht die funktion call in einer batch
    2.) wie kann ich call in vb.net nachbauen?

    Danke
    ähh? wasn das :)
    1) de.wikibooks.org/wiki/Batch-Pr…erung:_Batch-Befehle#CALL
    2) du kannst generell Programme starten mit der Process-Klasse

    sollte eigentlich mit deiner Zeile so gehen:

    VB.NET-Quellcode

    1. Dim PR as New Process
    2. PR.StartInfo.FileName = "Pfad zu deiner tasma.exe"
    3. PR.StartInfo.Arguments = "-e -t "455842" -t "55468" -r | soma.exe"
    4. PR.Start()


    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Call in einer Batch ruft ein Programm / Batch auf und macht in der nächsten Zeile weiter.
    Ohne Call wird ein "Jump" zum anderen Programm ausgeführt.
    Füge nach Deinen Anweisungen in die Batch den Befehl Pause ein, da wartet die Batch, bis eine Taste gedrückt wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke für die Antworten

    Die process Klasse habe ich benuzt, es ist aber ein unterschied ob ich das Programm mit dem Befehl "Call" aus der Batch starte, oder mit der Process Klasse.

    Edit:

    Ich habe den Fehler gefunden.
    Der Befehl wird nicht bis zum ende Ausgefürht in der Process Klasse!

    das macht er nicht
    :

    VB.NET-Quellcode

    1. "| soma.exe"


    wie kann ich ihn dazu bringen?
    er wird wohl die ausgabe auf die 2 exe übergeben, aber wie mache ich das mit der process klasse.
    ähh? wasn das :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „haufe“ ()

    Ich weiß jetzt nicht genau, wo der Fehler liegt.
    Dies hier ist mir bei @fichz aufgefallen:

    VB.NET-Quellcode

    1. PR.StartInfo.Arguments = "-e -t "455842" -t "55468" -r | soma.exe"

    -> Rs kommen ja Apostrophen vor, die musst Du in einem String doppelt schreiben:

    VB.NET-Quellcode

    1. PR.StartInfo.Arguments = "-e -t ""455842"" -t ""55468"" -r | soma.exe"
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ja war ein fehler von mir beim erstellen des post^^
    so rufe ich es natürlich nicht auf

    er nimmt das argument "|" nicht an und dadurch wird wohl die 2 exe nicht gestartet und die parameter nicht übergeben.
    ähh? wasn das :)
    Was passiert, wenn Du das Argument "|" einfach weg lässt?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    schei.. geht auch nicht :( verstehe nicht warum das in der batch funktioniert und in vb.net nicht

    so geht das alles in der batch
    wget mache ich natürlich in vb mit webclient

    Quellcode

    1. set "ad=55423"
    2. set "ab=soda.exe"
    3. wget -q -O dosa.txt "http://xxx.de/xxx.txt"
    4. find "d4452"<dosa.txt>k13.txt
    5. set /p k13=<k13.txt
    6. call sawo -v -W "%ad%" -r "%k13%" -q | %ab%
    ähh? wasn das :)