Zum Inhalt springen

mit echo den Inhalt einer .BAT Datei schreiben


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

... 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.

Geschrieben (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 von chuckson
Geschrieben

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.

Geschrieben
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?
Geschrieben

@ 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 ?

Geschrieben
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?

Geschrieben

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.

Geschrieben (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 von Klotzkopp

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...