Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Timestamp erzeugen (https://www.delphipraxis.net/70278-timestamp-erzeugen.html)

Luckie 28. Mai 2006 01:14


Timestamp erzeugen
 
Ich habe mir eine kleine Batchdatei geschrieben, die mir ein Backup macht:
Code:
xcopy *.* i:\SourceBackup\Usermanager_5_1\%DATE%\*.* /E
@pause
Ich bräuchte jetzt aber noch die Zeit dahinter, damit es eindeutig wird. Leider enthält %TIME% ein Komma und das will xcopy nicht. Wie kann ich ich trotzdem irgendwie einen eindeutigen Timestamp erzeugen?

Dax 28. Mai 2006 01:20

Re: Timestamp erzeugen
 
Mach doch Gänsefüße (") um den Pfad, dann klappts :)

Luckie 28. Mai 2006 01:29

Re: Timestamp erzeugen
 
Nope:
Code:
E:\Delphi\Sourcecodes\In_Bearbeitung\Usermanager_5_1>xcopy *.* "i:\SourceBackup\Usermanager_5_1\2006-05-28_ 2:28:46,06"\*.*" /E
Fehler beim Analysieren der Befehlszeile
Drücken Sie eine beliebige Taste . . .

Dax 28. Mai 2006 01:42

Re: Timestamp erzeugen
 
Zitat:

E:\Delphi\Sourcecodes\In_Bearbeitung\Usermanager_5 _1>xcopy *.* "i:\SourceBackup\Usermanager_5_1\2006-05-28_ 2:28:46,06"\*.*" /E
Fehler beim Analysieren der Befehlszeile
Drücken Sie eine beliebige Taste . . .
: ist Volume- und ADS-Trenner, den kann man nich so einfach in Pfade packen :?

Luckie 28. Mai 2006 01:44

Re: Timestamp erzeugen
 
Und nu? Ich würde auch ein Kommandozeilentool verwenden, was mir irgendwie einen Timestamp ausgibt und was ich da einbauen kann.

bigg 28. Mai 2006 01:58

Re: Timestamp erzeugen
 
Hi Luckie,

scheidet die Benutzung eines Packers dabei aus?

Ansonsten schlage ich vor, einen Packer auf Kommandozeilenebene zu benutzen.
WinRAR bzw. 7-Zip besitzen jeweils Konsolen für solche Geschichten.

8acht

Dax 28. Mai 2006 01:59

Re: Timestamp erzeugen
 
Was spricht dagegen, selbst eins zu schreiben? :)

Write(StringReplace(TimeToStr(Now), ':', '-', [rfReplaceAll])) wäre doch alles was dieses Tool leisten müsste :gruebel:

_frank_ 28. Mai 2006 02:24

Re: Timestamp erzeugen
 
vielleicht hilf dir das weiter:
Code:
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%

echo %jahr%-%monat%-%tag%
so kannst du dir den datumsstring von date zerlegen ;)

HTH

Frank

Luckie 28. Mai 2006 11:41

Re: Timestamp erzeugen
 
Zitat:

Zitat von bigg
scheidet die Benutzung eines Packers dabei aus?

Ja, weil wenn ich mal was ausprobieren will, will ich den aktuellen Stand schnell mal zwischensichern und wenn es nichts geworden ist, kannich die Unit schnell wieder zurückkopieren ohne sie erst umständlich aus einem Archiv holen zu müssen.[/quote]

Zitat:

Zitat von _frank_
vielleicht hilf dir das weiter:
Code:
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%

echo %jahr%-%monat%-%tag%
so kannst du dir den datumsstring von date zerlegen ;)

Ich nehme an mit der Zeit funktioniert das genauso? Danke für den Tipp.

Da stimmt irgendwas noch nicht:
Code:
set jahr=%date:~-4% 
set monat=%date:~-7,2% 
set tag=%date:~-10,2% 

echo %jahr%
echo %monat%
echo %tag%
ergibt:
Zitat:

5-28
6-
20
Drücken Sie eine beliebige Taste . . .
Mein Datumsformat ist 2006-05-28 und laut Hilfe sollte es so klappen:
Code:
set jahr=%date:~-0,4% 
set monat=%date:~-5,2% 
set tag=%date:~-8,2% 

echo %jahr%
echo %monat%
echo %tag%
aber bei Tag kommt da immer 06 raus:
Zitat:

2006
05
06
:gruebel:

Hawkeye219 28. Mai 2006 12:12

Re: Timestamp erzeugen
 
Hallo Michael,

versuche es mal mit diesem Code:

Code:
set jahr=%date:~0,4%
set monat=%date:~-5,2%
set tag=%date:~-2,2%
Ein negativer Wert bedeutet, daß die Zählung am Ende des Strings beginnt.

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz