BATCH: umbenennen falls vorhanden

Hallo,

Ich möchte folgendes erreichen:

Eine Batch soll Eine Datei schreiben:
echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW.txt"

Soll diese Datei aber mehrfach erstellen, doch würde mann es so machen:
:Start
echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW.txt"
goto Start

Würde die batch die Datei immer überschreiben

Die Batch soll am Ende einfach 001, 002, 003 … anhängen

oder am Besten eine zufallszahl schade das das nicht geht:

Start

echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW %Random%.txt"
goto Start

Wie ereiche ich das die batch die Datei immer umbenennt, ohne das mann es immer in der Batch einfügen muss:

echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW.txt"
echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW 002.txt"
echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW 003.txt"

Hallo,

wie wär’s, wenn du die Zeit zur Unterscheidung verwenden würdest:

copy Server PW „Server PW %date:~6,4%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%%time:~6,2%.txt“

liefert beispielsweise "Server PW JJJMMTThhmmss.txt

Ich glaube, das ist einfacher und eindeutiger als ein Zähler.

LG Culles

Hallo

oder am Besten eine zufallszahl schade das das nicht geht:

:Start
echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW %Random%.txt"
goto Start

Bei mir unter Windows 7 Home Premium 64 Bit funktioniert deine Lösung einwandfrei. Ich habe vor dem goto noch

ping 127.0.0.1 -n 6 \> NUL

eingefügt, dies führt zu einer Wartezeit von 5 Sekunden bevor eine neue Datei erzeugt wird. Sonst alles copy paste.
Was macht denn die Batch bei dir? Irgendwelche Fehlermeldungen?
Alex

Eine Batch soll Eine Datei schreiben:
echo „Server PW“ >"%USERPROFILE%\Desktop\Server PW.txt"
Die Batch soll am Ende einfach 001, 002, 003 … anhängen

Hallö Zero,

das von 000-999 kann man mit 3 For-Schleifen erreichen, her habe ich nur zwei, also 00-99 eingebaut.

Insgesamt wird keine neue Datei wie geplant in der Art
C:\test\Dateiname %1.txt
erzeugt, k.A. warum nicht.

Wenn du
if %abc%=1 goto Ende
löschst siehst du in notepad daß schon Namen mit Index 00-99 erzeugt werden.

Gruß
Reinhard

Inhalt von C:\test\DateiIndex3.bat

echo C:\test\Dateiname%1.txt >>C:\test\DateiIndex.txt
if %abc%=1 goto Ende
lfnfor On
if not exist C:\test\Dateiname%1.txt goto Weiter
Goto Ende

Weiter

Set abc=1
echo %1 > C:\test\Dateiname%1.txt

Ende

Inhalt von C:\test\DateiIndex2.bat

lfnfor On
for %%d in (0 1 2 3 4 5 6 7 8 9 ) do C:\test\DateiIndex3.bat %1%%d

Inhalt von C:\test\DateiIndex1.bat

Del C:\test\DateiIndex.txt
lfnfor On
for %%d in (0 1 2 3 4 5 6 7 8 9 ) do C:\test\DateiIndex2.bat %%d