Datei in neue Datei schreiben lassen.
Eine .bat Datei soll in eine andere .bat Datei hineinschreiben.
Hallo! Ich habe ein Problem mit .bat dateien.
echo copy %0 /y "%userprofile%\startm~1\Programme\Autostart > datei.bat
Damit Lasse ich eine neue .bat Datei anlegen und will in sie reinschreiben.
Geht aber nicht es gibt mir im Konsolenfenster : copy %0 /y "%userprofile%\startm~1\Programme\Autostart > datei.bat aus.
Aber mit jedem anderen Befehl gehts??
Z.b wenn ich schreibe:
echo pause > datei.bat
echo cls >> datei.bat
Dann gehts ganz einwandfrei.
Warum oben nicht?
Danke schonmal!
LG Benni.
Hallo! Ich habe ein Problem mit .bat dateien.
echo copy %0 /y "%userprofile%\startm~1\Programme\Autostart > datei.bat
Damit Lasse ich eine neue .bat Datei anlegen und will in sie reinschreiben.
Geht aber nicht es gibt mir im Konsolenfenster : copy %0 /y "%userprofile%\startm~1\Programme\Autostart > datei.bat aus.
Aber mit jedem anderen Befehl gehts??
Z.b wenn ich schreibe:
echo pause > datei.bat
echo cls >> datei.bat
Dann gehts ganz einwandfrei.
Warum oben nicht?
Danke schonmal!
LG Benni.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 139889
Url: https://administrator.de/contentid/139889
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
10 Kommentare
Neuester Kommentar
Nun das ist ganz logisch:
entweder man setzt etwas in Anführungszeichen oder nicht - du setzt hier vor %userprofile%[...] Anführungszeichen, aber hinter Autostart nicht mehr. Lass es vorne weg oder mach es hinten dran, dann funktioniert es auch.
//edit: Mist zu langsam ;)
entweder man setzt etwas in Anführungszeichen oder nicht - du setzt hier vor %userprofile%[...] Anführungszeichen, aber hinter Autostart nicht mehr. Lass es vorne weg oder mach es hinten dran, dann funktioniert es auch.
//edit: Mist zu langsam ;)
@dgzrsborkum
Ansonsten sollte vielleicht
eher den gewünschten Erfolg bringen ...
Grüße
bastla
Lass es vorne weg oder mach es hinten dran, dann funktioniert es auch.
Zumindest unter der Annahme, dass ein XP oder darunter als BS zum Ausführen des Ergebnisses verwendet werden soll, würde ich den Vorschlag auf "mach es hinten dran" reduzieren ...Ansonsten sollte vielleicht
echo copy "%%0" "%%userprofile%%\startm~1\Programme\Autostart">datei.bat
Grüße
bastla
@bastla:
kommt darauf an, ob er in der neuen Datei schon die festen Pfade drinstehen haben will oder ob diese erst beim Ausführen eingefügt werden.
Außerdem bringt %0 seine Anführungszeichen selber mit.
Also entwederoder
Gruß
nottrott
kommt darauf an, ob er in der neuen Datei schon die festen Pfade drinstehen haben will oder ob diese erst beim Ausführen eingefügt werden.
Außerdem bringt %0 seine Anführungszeichen selber mit.
Also entweder
echo copy %0 /y "%userprofile%\startm~1\Programme\Autostart" > datei.bat
echo copy %%0 /y "%%userprofile%%\startm~1\Programme\Autostart" > datei.bat
Gruß
nottrott
@Nottrott
Hinsichtlich "
Ansonsten: Welchen Sinn sollte es haben, einen festen Pfad in ein anderes Profil vorzugeben? Wenn's ohnehin das eigene sein sollte, wäre immer noch die variable Schreibweise zu bevorzugen (etwa wegen "C:\Dokumente und Einstellungen" vs "C:\Users") ...
Grüße
bastla
P.S.: Das "/y" hat zwar einen interessanten Platz (funktioniert allerdings auch dort), ist aber in einem Batch trotzdem unnötig ...
Hinsichtlich "
%0
" hast Du recht (ich könnte aber noch "%%~0
" anbieten ), wobei es, abgesehen von den Anrührungszeichen, und egal ob mit einem oder zwei Prozentzeichen, eher fragwürdig erscheint ...Ansonsten: Welchen Sinn sollte es haben, einen festen Pfad in ein anderes Profil vorzugeben? Wenn's ohnehin das eigene sein sollte, wäre immer noch die variable Schreibweise zu bevorzugen (etwa wegen "C:\Dokumente und Einstellungen" vs "C:\Users") ...
Grüße
bastla
P.S.: Das "/y" hat zwar einen interessanten Platz (funktioniert allerdings auch dort), ist aber in einem Batch trotzdem unnötig ...
[OT] @bastla
Manchmal schüttelt es mich sogar...
Dieser erste Arbeits-Dienstag fühlt sich irgendwie an wie ein Montag im Doppelpack..
Grüße
Biber
[/OT]
Zitat von @bastla:
, wobei es, abgesehen von den Anrührungszeichen, ....eher fragwürdig erscheint ...
Ich bin auch immer ganz gerührt, wenn ich die armen unschuldigen Pfade so eingeschlossen sehe...*snief*, wobei es, abgesehen von den Anrührungszeichen, ....eher fragwürdig erscheint ...
Manchmal schüttelt es mich sogar...
Dieser erste Arbeits-Dienstag fühlt sich irgendwie an wie ein Montag im Doppelpack..
Grüße
Biber
[/OT]
[OT too]
@Biber
... wobei es noch schlimmer ist, als es auf den ersten Blick scheint - eingeschlossen ist nämlich der/die/das Batch him-/her-/itself. Dass ich zu Derartigem fähig wäre, hätte ich mir eigentlich selbst nicht zugetraut - obwohl, das mit dem Doppelpack-Montag (auch bei mir: kein Vergleich zu gestern ) wäre vielleicht eine Erklärung ...
Aber noch etwas Tröstliches zu besagtem "Montag": So lange, wie er schon gedauert hat, dauert er nimmer (hoffe ich jedenfalls).
[/OT too]
@Biber
... wobei es noch schlimmer ist, als es auf den ersten Blick scheint - eingeschlossen ist nämlich der/die/das Batch him-/her-/itself. Dass ich zu Derartigem fähig wäre, hätte ich mir eigentlich selbst nicht zugetraut - obwohl, das mit dem Doppelpack-Montag (auch bei mir: kein Vergleich zu gestern ) wäre vielleicht eine Erklärung ...
Aber noch etwas Tröstliches zu besagtem "Montag": So lange, wie er schon gedauert hat, dauert er nimmer (hoffe ich jedenfalls).
[/OT too]
Hallo zusammen,
weils grade zu diesem Thread passt:
ich möchte mit echo diese Zeile (ohne Anführungszeichen) in eine Batch schreiben: VER > %NTLOG%
Das GrösserAls-Zeichen wird aber als Umleitungsbefehl interpretiert (auch Anführungszeichen ändern daran nichts)
echo VER > %%NTLOG%%>>batch.cmd --> VER (und der Rest wird ignoriert...)
echo VER ">" %%NTLOG%%>>batch.cmd --> VER ">" %NTLOG%
Hat jemand diese Nuss bereits geknackt?
weils grade zu diesem Thread passt:
ich möchte mit echo diese Zeile (ohne Anführungszeichen) in eine Batch schreiben: VER > %NTLOG%
Das GrösserAls-Zeichen wird aber als Umleitungsbefehl interpretiert (auch Anführungszeichen ändern daran nichts)
echo VER > %%NTLOG%%>>batch.cmd --> VER (und der Rest wird ignoriert...)
echo VER ">" %%NTLOG%%>>batch.cmd --> VER ">" %NTLOG%
Hat jemand diese Nuss bereits geknackt?