Supportnet / Forum / BS-Sonstige
Ist es möglich eine Datei per BATCH zu vervielfältigen?
Frage
Ich wolte gerade ine Datei auf bequeme Weise ver-I-fachen. Über die Windowsoberfläche kommt mir das mit tausendfachem copy und paste sehr umständlich vor. Daher wollte ich eine Batch Datei schreiben. Leider läuft das nicht so wie geplant. Kann mir jemand helfen? Hier mein Versuch:
FOR /L %%I IN (1,1,5) DO BEGIN
xcopy didi-man.pdf e:\testren e:\test\didi-man.pdf buhman%I%.pdf
END
Sollte bewirken, daß die Datei didiman.pdf vom selben Verzeichnis in der auch die Batch Datei ist, nach E:\test kopiert wird, dann in didiman-so-und-so-viel.pdf umbenannt wird und ich dann am Ende buhman1.pdf bis buhman-tausend-oder-noch-mehr.pdf habe.
Leider rafft er das mit buhman%I%.pdf scheinbar nicht und nennt sie einfach buhman.pdf und fragt dann beim nächsten Mal natürlich ob die vorhandene buhman.pdf überschreiben werden soll.
Und das mit BEGIN kommentiert er folgendermaßen: Der Befehl BEGIN ist entweder falsch geschrieben oder konnte nicht gefunden werden...
Jede Hilfe wird dankend angenommen,
Grüße, ültje
P.S. Die Dateinamen hören sich komisch an, sind aber vorgegeben und nicht auf meinem Mist gewachsen
Antwort 1 von thomas.voigtlaender
hi,
mit dos wirst du nur bis buhman99.pdf kommen.
dos kann nur 8.3 dateinamen (der name selber kann
dann nur 8 zeichen lang sein.
reicht das?
thomas
mit dos wirst du nur bis buhman99.pdf kommen.
dos kann nur 8.3 dateinamen (der name selber kann
dann nur 8 zeichen lang sein.
reicht das?
thomas
Antwort 2 von _gau_
@thomas
Er arbeitet mit einer Batch unter Windows. Wen interessieren da 8.3-Konventionen? Und die Nutzung von "for /l" zeigt, daß es ein NT-System ist ;-)
@ültje
Mach mal so:
[gau]
Er arbeitet mit einer Batch unter Windows. Wen interessieren da 8.3-Konventionen? Und die Nutzung von "for /l" zeigt, daß es ein NT-System ist ;-)
@ültje
Mach mal so:
@echo off
copy didi-man.pdf e:\test\buhman1.pdf
for /l %%i in (2,1,25) do copy e:\test\buhman1.pdf e:\test\buhman%%i.pdf
[gau]
Antwort 3 von ueltje
Hi,
ich verwende eigentlich nicht DOS, sondern ich rufe die Datei auf und die Eingabeaufforderung unter WinXP führt sie aus. Die sollte eigentlich mehr als 8+3 Zeichen verarbeiten können.
Ich sehe das Problem darinne, daß er mit buhman%I%.pdf nichts anfangen kann. Verwende ich vielleicht eine falsche Syntax?
ich verwende eigentlich nicht DOS, sondern ich rufe die Datei auf und die Eingabeaufforderung unter WinXP führt sie aus. Die sollte eigentlich mehr als 8+3 Zeichen verarbeiten können.
Ich sehe das Problem darinne, daß er mit buhman%I%.pdf nichts anfangen kann. Verwende ich vielleicht eine falsche Syntax?
Antwort 4 von thomas.voigtlaender
hi nochmal,
auch wenn es unter win verwendet wird kann alles was "dos-like" gemacht wird die 8.3-konvention. wenn es eng wird, dann mit der brühmten tilde.
und ein (dos-)batch kann nun mal auch nur die dos-syntax.
müsste etwa so aussehen:
for %%i in (1 2 3 4) do copy t.tmp t%%i.tmp
da wird dann t1.tmp, t2.tmp...t4.tmp draus. die dateinamen lassen sich beliebig ersetzen.
gruß
thomas
auch wenn es unter win verwendet wird kann alles was "dos-like" gemacht wird die 8.3-konvention. wenn es eng wird, dann mit der brühmten tilde.
und ein (dos-)batch kann nun mal auch nur die dos-syntax.
müsste etwa so aussehen:
for %%i in (1 2 3 4) do copy t.tmp t%%i.tmp
da wird dann t1.tmp, t2.tmp...t4.tmp draus. die dateinamen lassen sich beliebig ersetzen.
gruß
thomas
Antwort 5 von ueltje
Ich habe jetzt die vorgeschlagene Syntax genommen und nur leicht abgewandelt in:
@echo off
copy didi-man.pdf e:\test\buhman1.pdf
for /l %%i in (2,1,25) do copy e:\test\buhman1.pdf e:\test\buhahahahman%%i.pdf
Es geht problemlos und wie buhahahahman%%i.pdf im Test erwiesen hat auch mit mehr als 8+3, aber das nur am Rande.
Danke für Eure Hilfe
ültje
@echo off
copy didi-man.pdf e:\test\buhman1.pdf
for /l %%i in (2,1,25) do copy e:\test\buhman1.pdf e:\test\buhahahahman%%i.pdf
Es geht problemlos und wie buhahahahman%%i.pdf im Test erwiesen hat auch mit mehr als 8+3, aber das nur am Rande.
Danke für Eure Hilfe
ültje
Antwort 6 von _gau_
Mußte ja gehen - ich teste schließlich immer (naja, fast immer ;-) bevor ich etwas poste.
Kleiner Tipp noch nachträglich:
Solltest du mal Verz./Dateinamen mit Leerzeichen haben, dann setz sie unbedingt in Anführungszeichen, z.B. "D:\Mein Testverzeichnis\Dies ist ein langer Dateiname.xyz"
[gau]
Kleiner Tipp noch nachträglich:
Solltest du mal Verz./Dateinamen mit Leerzeichen haben, dann setz sie unbedingt in Anführungszeichen, z.B. "D:\Mein Testverzeichnis\Dies ist ein langer Dateiname.xyz"
[gau]
Antwort 7 von drago
Das ist nicht DOS, sondern die SHELL von XP.
DOS ist etwas anderes.
.
DOS ist etwas anderes.
.
Antwort 8 von _gau_
@drago
Wow - das hätten wir ohne dich bestimmt nicht bemerkt ;-)
[gau]
Wow - das hätten wir ohne dich bestimmt nicht bemerkt ;-)
[gau]
Antwort 9 von ueltje
Niemals dran gezweifelt, daß das Problem noch vor dem insbettgehen gelöst wird ;-)
Grüße und gute Nacht,
ültje
Grüße und gute Nacht,
ültje