Programm mit cmd öffnen und mit cmd befehle eingeben



  • Hallo,
    Ich möchte das Programm MSYS.bat mit einem Batch Programm starten und dann dem MSYS Programm sagen, dass es das Verzeichnis wechseln soll, ohne dass ich es jedes mal manuell durchführen muss.
    So würde ich das Programm schreiben:

    @echo off
    cd C:\MinGW\msys\1.0
    msys.bat
    cd c:\users\pc\desktop\c_programme > msys.bat
    exit

    Aber es klappt nicht, weil ich wenig Ahnung von Batch habe.

    Wie müsste ich das Programm umschrieben?
    Danke 🙂



  • Nimm

    call msys.bat
    

    Aber was soll das "> msys.bat" nach dem "cd"? Damit überschreibst du die "msys.bat"-Datei mit der Ausgabe des "cd"-Befehls.



  • @echo off
    cd c:\users\pc\desktop\c_programme
    C:\MinGW\msys\1.0\msys.bat
    exit
    


  • Eure beiden Antworten sind so überflüssig.
    @Th69
    Ich kriege das Programm auch ohne den Befehl call gestartet und das hilft mir auch auf keinster Weise weiter.

    @Belli
    Was soll den dein Code bewirken hahahaha

    Was macht ihr hier überhaupt, ich denke ich habe mein Problem klar und deutlich geschildert, aber ich sage es noch mal.
    Ich möchte das Programm msys.bat gestartet haben und ich möchte das bei deim msys Terminal folgendes steht bzw. ausgefüphrt wird "cd c:\users\pc\desktop\c_programme", aber alles ohne dass ich etwas manuell eingeben muss.
    Das alles soll mein kleines Batch Programm übernehmen.



  • probiere mit zaubern...vieleicht gehts. 😃 😃 😃



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum WinAPI in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Mr C schrieb:

    probiere mit zaubern...vieleicht gehts. 😃 😃 😃

    Die Windowskonsole wird doch wohl hoffentlich Here Documents oder Input/Output-Redirection kennen? Wenigstens eines davon. Und mit beiden könnte man das machen.



  • Sand_am_Meer schrieb:

    Eure beiden Antworten sind so überflüssig.
    @Th69
    Ich kriege das Programm auch ohne den Befehl call gestartet und das hilft mir auch auf keinster Weise weiter.

    @Belli
    Was soll den dein Code bewirken hahahaha

    Was macht ihr hier überhaupt, ich denke ich habe mein Problem klar und deutlich geschildert, aber ich sage es noch mal.
    Ich möchte das Programm msys.bat gestartet haben und ich möchte das bei deim msys Terminal folgendes steht bzw. ausgefüphrt wird "cd c:\users\pc\desktop\c_programme", aber alles ohne dass ich etwas manuell eingeben muss.
    Das alles soll mein kleines Batch Programm übernehmen.

    Was ist das denn für eine Antwort. Offensichtlich war nicht klar formuliert, was du erreichen möchtest, sonst hättest du wahrscheinlich einen entsprechenden Tipp bekommen, wie es funktioniert.

    Was du bekommen hast ist eine Lösung, wie mysis.bat aus deinem Zielordner aufgerufen werden kann. Passt nicht, also brauchen wir wohl mehr Informationen.

    Woher sollen wir denn wissen wie dein mysis.bat aussieht, und wie es Argumente erwartet, mit denen man mysis.bat mitteilt, das es den Ordner wechseln soll.



  • Wie funktioniert das msys.bat? Führt das diejenigen Befehle aus die es via stdin einliest? Dann könnte

    "cd C:\Blubb" | msys.bat
    

    funktionieren -> Achtung: die doppelten Anführungszeichen für einen String statt den Befehl auszuführen sind wichtig.

    Wenn msys.bat so nicht funktioniert, dann gibt es evtl. auch gar keine Möglichkeit.

    MfG SideWinder



  • SideWinder schrieb:

    Dann könnte

    "cd C:\Blubb" | msys.bat
    

    funktionieren -> Achtung: die doppelten Anführungszeichen für einen String statt den Befehl auszuführen sind wichtig.

    Die mögen unter *IX wichtig und ausreichend sein, aber unter Windows sind sie weder wichtig noch ausreichend. Muss man mit ECHO o.ä. machen:

    ECHO cd C:\Blubb | msys.bat
    


  • Uh, kommt davon wenn man posted ohne auszuprobieren 🙄 ...danke! 👍

    MfG SideWinder


Anmelden zum Antworten