BlackVictory Geschrieben 7. Januar 2014 Teilen Geschrieben 7. Januar 2014 Guten Tag zusammen und ein gutes neues Jahr 2014 erst mal. Ein neues Jahr heißt aber leider auch weitere Probleme, und da ich euch so gern habe meine Frage an euch ich würde gerne über den echo Befehl einen Inhalt in eine .BAT Datei schreiben lassen. Also ich führe ein Konfigurationstool aus bei dem zum Beispiel einer Datenträgerbezeichnung abgefragt wird. Diese Bezeichnung soll dann mit einem weitern Befehl in eine .BAT Datei geschrieben werden. mein Code schaut folgend aus. . . . echo Name des Volumens eingeben: set/p Volumennamen= echo format d: /v:%Volumennamen% /q > format.txt echo pause >> format.txt ren "format.txt" format.bat pause . . . dads Umbennen habe ich schon mal mit reingenommen, da man anscheinend nicht direkt in eine -BAT Datei schreiben kann, und mir diese Lösung am einfachsten schien. Leider funktioniert es nicht, es wird nur unendlich lange die erste Zeile Inhalt der Datei in der CMD wiedergegeben. Egal ob ich das als TXT oder als BAT Datei gespeichert habe. Kann mir da jemand bitte helfen ? Danke im Voraus und verbleibe mit Hoffnung auf eine richtige Antwort Mit freundlichen Grüßen Wolfi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlackVictory Geschrieben 8. Januar 2014 Autor Teilen Geschrieben 8. Januar 2014 auch mit dieser Variante habe ich leider keinen Erfolg: echo Name des Volumens eingeben: set/p Volumennamen= >format.bat ( echo @echo off echo echo format d: /v:%Volumennamen% /q echo pause ) pause Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chuckson Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 Hy, also wenn ich das richtig verstanden habe, soll, wenn man die format.bat ausführt in der cmd Folgendes zu sehen sein: format d: /v:test /q Drücken Sie eine beliebige Taste . . . ----------------------------------- Versuch's mal so: @echo off echo Name des Volumens eingeben: set/p Volumennamen= echo @echo off > format.txt echo echo format d: /v:%Volumennamen% /q >> format.txt echo pause >> format.txt ren "format.txt" format.bat pause Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chuckson Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 ... und wenn Du den "Format" Befehl benutzen möchtest schreibst Du die eine Zeile einfach so: echo format D: /Q /V:%Volumennamen% >> format.txt Die erstellte Batchdatei "format.bat" muss man dann allerdings als Administrator ausführen - sonst macht die Batch irgendwie nicht, was sie soll. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chuckson Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 (bearbeitet) Allerdings kannst Du bei den Volumennamen (/V:Bezeichnung) nur ein zusammenhängendes Wort eingeben - falls Du mal vor hast die Batch auf externe Datenträger anzuwenden und denen z.B. die Bezeichnung Mein USB geben möchtest, würde ich die Batch etwas umschreiben: @echo off echo Name des Datenträgers eingeben: set/p Volumenname= echo @echo off > format.txt echo format F: /Q /FS:NTFS /V:"" >> format.txt echo label F: %Volumenname% >> format.txt echo pause >> format.txt ren "format.txt" format.bat pause Bearbeitet 8. Januar 2014 von chuckson Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlackVictory Geschrieben 8. Januar 2014 Autor Teilen Geschrieben 8. Januar 2014 das bingt mich irgendwie nicht weiter, sorry... vielleicht ist es ein Verständigungsproblem was hier vorliegt. Ich mächte in einer Bat Datei nach einem Volumnamen fragen für die 2-te Partition. Danach soll eine fertige BAT Datei geschrieben werden, welche des Befehl zur Ausführung der Formatierung mit der Volumenbezeichnung beinhaltet. Wenn ich aber über eine BAT datei eine ander BAT-Datei erstellen lasse (wie oben der Code j auch macht) dann wird der Befehl an für sich nicht ausgeführt sonden nur die erste Zeile der BAT -Datei immer und immer wider in der CMD angezeigt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chuckson Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 Wie lautet der Befehl, der Dir die ganze Zeit angezeigt wird? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 Wenn ich aber über eine BAT datei eine ander BAT-Datei erstellen lasse (wie oben der Code j auch macht) dann wird der Befehl an für sich nicht ausgeführt sonden nur die erste Zeile der BAT -Datei immer und immer wider in der CMD angezeigt.Dir ist klar, dass das reine Schreiben von Textzeilen in eine Datei nicht automatisch zum Ausführen dieser Zeilen führt? Falls ja: Wie führst du denn aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlackVictory Geschrieben 8. Januar 2014 Autor Teilen Geschrieben 8. Januar 2014 @ Klotzkopf Wenn ich eine txt Datei nehme, in diese Datei format d: eingebe, diese Datei dann als Batch Datei abspeicher und dann ausführe dann führt er das Programm "format.exe" aus, oder ??? Wenn aber die Zeile "format d:" eine Batch in eine TXT Datei reinschreibt, und ich es dann ausführe dann bekomme ich eine CMD, in der mir ununterbrochen "format d:" angezeigt. Wo ist der Unterschied, ob ich es reinschreibe, oder ein Programm ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 Wenn ich eine txt Datei nehme, in diese Datei format d: [/code] eingebe, diese Datei dann als Batch Datei abspeicher und dann ausführe dann führt er das Programm "format.exe" aus, oder ???Ja. Wenn aber die Zeile "format d:" eine Batch in eine TXT Datei reinschreibt, und ich es dann ausführe dann bekomme ich eine CMD, in der mir ununterbrochen "format d:" angezeigt.Du kannst Textdateien nicht ausführen. Es wird die mit dieser Art von Dateien verknüpfte Anwendung gestartet. Was die dann mit der Datei macht, hängt von der Anwendung ab. Üblicherweise ist das der Editor, der zeigt sie einfach nur an. Du schreibst immer wieder von Ausführen, in deinem Code ist davon aber nichts zu sehen: Daher nochmal die Frage: Wie führst du die geschriebene Datei aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlackVictory Geschrieben 8. Januar 2014 Autor Teilen Geschrieben 8. Januar 2014 in dem letzten Beitrag habe ich es vergessen, dass die Textdatei natürlich in eine Batch Datei umgewandelt wird. Im Originalcode im ersten Post ist es klar zu erkennen und das Problem auch richtig geschildert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 8. Januar 2014 Teilen Geschrieben 8. Januar 2014 (bearbeitet) Im Originalcode im ersten Post ist es klar zu erkennen und das Problem auch richtig geschildert.Mag sein, dass ich gerade betriebsblind bin. Im ersten Beitrag sehe ich nur, wie Textzeilen in eine Datei geschrieben werden, und diese Datei umbenannt wird. Welche Zeile bewirkt deiner Meinung nach die Ausführung von format.bat? NACHTRAG: Ich vermute, das Problem liegt darin, dass der format-Aufruf nicht die Ausführung des Shell-Kommandos, sondern der .bat-Datei selbst bewirkt. Gib der Datei mal einen anderen Namen. Bearbeitet 8. Januar 2014 von Klotzkopp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 9. Januar 2014 Teilen Geschrieben 9. Januar 2014 Aufrufen tut man .bat-Dateien über andere .bat-Dateien übrigens afaik per "call"-Befehl. call datei.bat also z.B. Siehehier. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BlackVictory Geschrieben 9. Januar 2014 Autor Teilen Geschrieben 9. Januar 2014 ok danke Crash & Klotzkopp, ich habe es hinbekommen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.