WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Batch-Datei erstellen, die Dateien mit fortlaufender Nummerrierung generiert (http://www.wcm.at/forum/showthread.php?t=234820)

zonediver 26.05.2009 09:38

Batch-Datei erstellen, die Dateien mit fortlaufender Nummerrierung generiert
 
Hallo Leute!

Ich hab da mal ne Frage:
Ich würde gerne eine Batchdatei erstellen, die in zyklischen Abständen eine Datei erzeugt. Soweit so gut aber wie kann man das lösen, damit die erzeugt Datei eine fortlaufende Nummer erhält, sodass die vorher generierte Datei nicht überschrieben wird?

Danke für Eure Hilfe
Zonediver

LouCypher 26.05.2009 09:45

am einfachsten indem als dateiname der datei die erstellt werden soll %date% eingibst.

zb.
xcopy c:\*.* c:\backup\%date%

zonediver 26.05.2009 09:59

Danke LouCypher für die schnelle Antwort - das is genau so wie ich es haben will - ich dachte schon, ich muß da mit Schleifen "experimentieren" ;)

Danke nochmals!

EDIT: Sehe gerade, dass das nicht so ganz funzt, da ich stündlich eine Datei anlegen will - hatte ich noch vergessen zu sagen

zonediver 26.05.2009 10:41

Ich hab das jetzt mal mit %time% probiert - da sagt er nur "Falscher Parameter"
Scheinbar braucht XP den Parameter "/T" im Anhang von Time - nur wie "wurschtelt" man das in einen Dateinamen hinein?

LouCypher 26.05.2009 11:47

probiers mit "", /t brauchst nicht, aber in %time% ist ein comma drin ich glaub das mag er nicht ohne "".

xcopy c:\*.* "c:\backup\%time%"

zonediver 26.05.2009 18:00

Tjo - er sagt immer noch "Falscher Parameter" :heul:

FranzK 26.05.2009 20:08

Zitat:

Zitat von zonediver (Beitrag 2364136)
Tjo - er sagt immer noch "Falscher Parameter" :heul:

Wundert dich das? Der Doppelpunkt ist in Windows nur hinter dem Laufwerksbuchstaben erlaubt!

:hallo:

zonediver 26.05.2009 20:15

Schwachsinn :cool:
warum gehts, wenn ich statt %Time% %Date% nehme - inkl. Doppelpunkt???

FranzK 27.05.2009 00:00

Zitat:

Zitat von zonediver (Beitrag 2364150)
Schwachsinn :cool:
warum gehts, wenn ich statt %Time% %Date% nehme - inkl. Doppelpunkt???

Ach ja?

Bei mir schaut die Kommandozeile nach dem Date-Befehl etwa so aus:
Code:

C:\Dokumente und Einstellungen\Franz>date
Aktuelles Datum: Di 26.05.2009
Geben Sie das neue Datum ein: (TT-MM-JJ)

Siehst du da irgendwo einen Doppelpunkt?

zonediver 27.05.2009 01:09

Heast... :mad:
Wir reden hier von "Batch-Dateien" - alles klar soweit???
Warum soll man keinen Doppelpunkt in einer Batch-Datei verwenden dürfen???
Ausserdem löst das mein aktuelles Problem nicht - also bitte "konstruktiv" und ned "irgendwie" - danke :bier:

Don Manuel 27.05.2009 08:23

Der Doppelpunkt wurde ja nach einem Laufwerksbuchstaben, also korrekt, gesetzt. Allerdings darf in einem Dateinamen kein Beistrich vorkommen.

CaptainSangria 27.05.2009 08:35

copy meinedatei.xyz "%date% %time:~0,2%-%time:~3,2%-%time:~6,2%"

zonediver 27.05.2009 09:05

Jawolllllll - das isses :laola:
Allerdings funzt das dritte Time-Statement nicht - offensichtlich kann XP keine Sekunden ausgeben - macht aber nichts - die Auflösung bis zu den Minuten reicht vollkommen - DANKE CaptainSangria - SUPER :hallo:

CaptainSangria 27.05.2009 11:04

bitte schön

ich habe etwas ähnliches laufen, nur komprimiert mir winrar bei jedem computerstart eine wichtige datei:

Zitat:

start /min winrar.exe a ZIEL QUELLE -r -s -m5 -ag+yymmddhhmmss_ -ilog -inul "%%i" "%%i\*.*"

FranzK 29.05.2009 15:03

Zitat:

Zitat von zonediver (Beitrag 2364189)
Schwachsinn
warum gehts, wenn ich statt %Time% %Date% nehme - inkl. Doppelpunkt???

...

Heast... :mad:
Wir reden hier von "Batch-Dateien" - alles klar soweit???
Warum soll man keinen Doppelpunkt in einer Batch-Datei verwenden dürfen???
Ausserdem löst das mein aktuelles Problem nicht - also bitte "konstruktiv" und ned "irgendwie" - danke :bier:

Wenn man offenbar so wenig Durchblick wie du hat, sollte man etwas vorsichtiger sein, bevor man andere des Schwachsinns bezichtigt. Und dass wir von Batch-Dateien reden, war mir auch klar. Dir aber offenbar nicht, dass eine Batch-Datei mit der Kommandozeile viel zu tun hat und letztere als Beispiel gut zu gebrauchen ist.

Um nocheinmal auf dein Problem zurückzukommen. Der Doppelpunkt ist bei Windows eines der verbotenen Sonderzeichen in Dateinamen! Kapier das endlich! Allerdings mit einer Ausnahme: er wird als Trennzeichen des Laufwerksbuchstaben verwendet. Aber nur einmal! Im Unterschied zur %date%-Variable besitzt die %time%-Variable aber immer zwei Doppelpunkte, wie man an folgendem Befehl schön sehen kann.

Code:

D:\Dokumente und Einstellungen\Franz>echo %date% %time%
Fr 29.05.2009 14:45:19,66

D:\Dokumente und Einstellungen\Franz>echo 123 >"%time%"
Falscher Parameter.

D:\Dokumente und Einstellungen\Franz>echo 123 >"%date%"

D:\Dokumente und Einstellungen\Franz>

Daher kann man nie die %time%-Variable einfach in einen Dateinamen einbauen, ungleich der %date%-Variablen! Im obigen zweiten Befehl wird versucht, die %time%-Zeichenfolge als Dateiname zu verwenden, aber Windows wird vergeblich nach einem Laufwerk "4:" suchen oder sich am zweiten Doppelpunkt stoßen (ich habe auch Fälle zustande gebracht, wo Windows den Pfad nicht finden konnte). Der dritte Befehl wird anstandslos ausgeführt, da das Datum ein zulässiges Format für einen Dateinamen besitzt.

CaptainSangria tauscht nun in seinem Befehl gekonnt die Doppelpunkte gegen Bindestriche aus und umgeht so das Problem.

:hallo:

enjoy2 29.05.2009 16:00

ein wenig Google und man findet haufenweise Anleitungen

http://www.administrator.de/Workshop..._im_Batch.html

hat mir sehr geholfen


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag