none
Wie erstelle ich ein Batchfile mit "echo type" (Batchdatei1 erzeugt Batchdatei2)? RRS feed

  • Frage

  • Hallo,
    ich möchte per Batch-Datei eine weitere Batchdatei erstellen.
    Hierzu schreibe ich in Batchdatei 1 Folgendes:

    echo type "PfadEinesFilesDessenInhaltInDieZwischenablageSoll" | clip > ZielpfadBatchdatei2.cmd


    In Batchdatei2 soll der Inhalt folgendermaßen sein:
    type "PfadEinesFilesDessenInhaltInDieZwischenablageSoll" | clip



    Nun mein Problem: Durch den Teil Pipe-Zeichen und clip ist die Batchdatei2 vollständig leer. Lasse ich das Pipe-Zeichen und das clip weg, dann steht zumindest der Pfad in der Batchdatei2. Es muss doch möglich sein, dass das | clip samt dem vorigen Pfad im Batchfile landet, oder? Verzweifle nach stundenlangem Rumprobieren daran.

    Was ich nicht brauche: weitere Anführungszeichen im Batchdatei2-Inhalt; diese würden den Befehl unbrauchbar machen bzw. bewirkrne, dass er nicht funktioniert.


    Wer weiß Rat und kann mir sagen, wie meine Batchdatei2 so, wie ich es mir vorstelle, wird (siehe fett formatierte Nennung oben)?
    Mittwoch, 29. Januar 2020 10:53

Alle Antworten

  • Du musst die Komplette Zeile, die in die Datei geschrieben werden soll, maskieren. 

    Woher soll das System sonst wissen, das du nicht die Funktion des Zeichens und des Commands brauchst, sondern das Symbol und den Command als Text.

    Du kannst also direkt sagen:

    echo D:\deinPfad\deineDatei.abc ^| ^clip > neuebat.bat

    Dann sollte in neuebat.bat dein:

    Pfad | clip

    stehen.

    Gruß

    Mittwoch, 29. Januar 2020 12:22
  • echo  type "PfadEinesFilesDessenInhaltInDieZwischenablageSoll" ^| clip >NeueDatei.bat

    Ein ^ vor dem Pipe reicht, so dass keine Ausführung stattfindet.
    Mittwoch, 29. Januar 2020 17:11