[Batch/Bash] Batch-Befehle durch Batch in Batch schreiben lassen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Docean, 22. April 2009 .

Schlagworte:
  1. 22. April 2009
    Batch-Befehle durch Batch in Batch schreiben lassen

    Ich liebe den Titel
    Ich habe folgendes Problem:
    Ich möchte per Batch ein paar Befehle in eine andere Batchdatei schrieben lassen.
    Ich hab mir das in etwa so vorgestellt.

    Code:
    "echo "#######" " >> BatchNr2.bat
    Aber irgendwie bekomme ich dann eine leere Datei udn wenn ich so versuche:

    Code:
    echo "#######" >> BatchNr2.bat
    aber dann wird der Echobefehl ausgeführt und der Rückgabewert wird dann in die neue Batchdatei geschrieben

    Ich hoffe es kann mir jemand helfen

    Gruß Dcoean
     
  2. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Die Anführungszeichen brauchst du nicht. Du kannst ganz einfach echo'en. Du musst halt Sonderzeichen (wie >, >>, | etc.) mit '^' maskieren:

    Code:
    echo echo TEST^>test.txt > test.bat
    Das schreibt "echo TEST>test.txt" in test.bat.
     
  3. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Wenn ich nun aber sowas rein schreibe:

    Code:
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ########################\/\/\/\/\/\/\/\/\/\/\/\/\/\/######################### > abc.bat
    echo echo ########################>>>>||||||||||||||||||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||||||||||||||||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||| |||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||| Text |||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||| by |||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||| Docean |||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||| |||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||||||||||||||||||<<<<######################### > abc.bat
    echo echo ########################>>>>||||||||||||||||||||<<<<######################### > abc.bat
    echo echo ########################/\/\/\/\/\/\/\/\/\/\/\/\/\/\######################### > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    echo echo ############################################################################# > abc.bat
    Dann gibt er mir in der .Bat nur folgende Zeile aus:

    Code:
    echo ########################\/\/\/\/\/\/\/\/\/\/\/\/\/\/######################### 
    Ich blick da nicht ganz durch , obwohl es eig. ( glaub ich ) recht simpel ist

    Gruß
     
  4. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen



    MfG, Chrisomator
     
  5. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Das hat mir jetzt echt 0 geholfen .......
    Warum gibt er mir denn nur

    Code:
    echo ########################\/\/\/\/\/\/\/\/\/\/\/\/\/\/#########################
    aus und z.B. nicht auchnoch diese Zeile:

    Code:
    echo ########################/\/\/\/\/\/\/\/\/\/\/\/\/\/\#########################
    Sie sind doch eig. fast identisch.

    Kann mir nicht mal jemand eine Zeile fertig machen , damit selbst ich das hin bekomme
     
  6. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Um eine Zeile hinzuzufügen musst du ">>" benutzen.

    Also ab der zweiten Zeile:
    Code:
    echo echo ############################################################################# >> abc.bat
    
     
  7. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Ja da hat Nosferatu recht. Mit ">" überschreibst du die Datei, mit ">>" hängst du was als neue Zeile dran.
     
  8. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Code:
    Die Anführungszeichen brauchst du nicht. Du kannst ganz einfach echo'en. Du musst halt Sonderzeichen (wie >, >>, | etc.) mit '^' maskieren: 
    Muss ich die maskierung danach irgendwie wieder aufheben ?

    Gruß
     
  9. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Musst halt "^>^>" schreiben, wenn ich mich net irre.
     
  10. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Code:
    echo for /l %%i in (1,1,3) do mkdir Ordner%%i >> abc.bat
    Ich kann diesen Code aber ja nicht in die .bat schreiben , oder ?
    Auf jeden fall nicht so...

    Wenn ich es nun in "" setzte , dann stehen die "" auch in der abc.bat und dann kann der Befehl von der abc.bat ja nichtmehr ausgeführt werden oder sehe ich das falsch ?
     
  11. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Musst die ">>" immernoch escapen.

    Code:
    echo for /l %%i in (1,1,3) do mkdir Ordner%%i ^>^> abc.bat
    Nun müsste es aber gehen?!
     
  12. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Nene
    Da hast du mich wohl falsch verstanden
    Dieser Befehl:
    Code:
    for /l %%i in (1,1,3) do mkdir Ordner%%i
    Soll in die abc.bat geschrieben werden.
    Mit
    Code:
    echo for /l %%i in (1,1,3) do mkdir Ordner%%i >> abc.bat
    funktionier es aber nicht
    Die Ordner sollen erst mit dem ausführen der abc.bat erstellt werden.

    Gruß

    P.S.: BW habt ihr schonmal alle
     
  13. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Funktioniert bei mir einwandfrei!
    Was kommt denn bei dir raus?
    Was passiert, wenn dus nicht in die Datei schiebst sondern
    Code:
    echo for /l %%i in (1,1,3) do mkdir Ordner%%i
    absetzt?
    Bei mir kommt folgendes dabei raus (Vista64):
    Code:
    br4inp4in@localhost $>echo for /l %%i in (1,1,3) do mkdir Ordner%%i
    for /l %%i in (1,1,3) do mkdir Ordner%%i 
    GreetZ, ~Br4inP4in~
     
  14. 22. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Ich möchte aber diesen Befehle:
    Code:
    echo for /l %%i in (1,1,3) do mkdir Ordner%%i
    durch eine Batchdatei1 in eine andere Batchdatei2 schreiben lassen und nicht einfach Batchdatei1 ausführen

    Gruß
     
  15. 23. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Die '%' musst du auch noch escapen:

    Code:
    echo for /l ^%^%i in (1,1,3) do mkdir Ordner^%^%i > test.bat
     
  16. 25. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Versuch mal:
    Code:
    echo for /l %%%i in (1,1,3) do mkdir Ordner%%%i
     
  17. 27. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Das ist mir klar.
    Bei mir:
    Code:
    br4inp4in@localhost $>[COLOR="Green"]echo for /l %%i in (1,1,3) do mkdir Ordner%%i[/COLOR]
    [COLOR="Blue"]for /l %%i in (1,1,3) do mkdir Ordner%%i[/COLOR]
    Grün: Befehl, der abgesetzt wird
    Blau: der Return von meiner cmd.
    Funktioniert bei mir genauso innerhalb einer Batchdatei, sprich in der Erstellten Batch steht dann wenn ich sie mit dem Code und einer Dateiumleitung erstellen lasse:
    Code:
    for /l %%i in (1,1,3) do mkdir Ordner%%i
    Wenn das bei dir anders aussieht scheint es wohl Betriebssystemspezifisch zu sein - auch wenn ichs mir nicht vorstellen kann.

    GreetZ, ~Br4inP4in~
     
  18. 28. April 2009
    AW: Batch-Befehle durch Batch in Batch schreiben lassen

    Bei mir funktioniert das so:

    1.bat
    Code:
    echo [COLOR="DeepSkyBlue"]echo[/COLOR] for /l %%%%i in (1,1,3) do mkdir Ordner%%%%i > 2.bat
    2.bat

    Code:
    [COLOR="DeepSkyBlue"]echo[/COLOR] for /l %%i in (1,1,3) do mkdir Ordner%%i 
    falls das eine echo weg willst einfach bei bat 1 wegmachen ^^
     
  19. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.