DP: aktuelle Zeit und Datum in eine Variable???

Von: , Frage gestellt am So, 20. Okt 2002

[Doppelposting, bitte in Windows NT/2000/XP antworten, Danke!]

Hi Experten,

ich will für eine Backup-Routine eine Historie ermöglichen. Dazu möchte ich automatisch ein Verzeichnis erstellen mit dem aktuellen Datum + evtl. Zeit als Verzeichnisnamen.
Wie bekomme ich nun Datum und Zeit in eine Variable bzw. wie bekomme ich das Verzeichnis hin?


Bin für jeden noch so kleinen Hinweis dankbar!


Danke

Tom

5 Antworten zu dieser Frage

  1. Antwort von nach 2 Tagen 1 hilfreich
    Re: DP: aktuelle Zeit und Datum in eine Variable??

    Hi,

    wenn Du Windows 2000 oder XP im Einsatz hast, dann ist das ganz einfach.

    Du kannst dann nach ausführen dieses Scripts z.B. machen

    MD C:\Backup\%DateFmt(JJJJ-MM-TT)%
    -> Ergebnis: C:\Backup\2002-10-22

    MD C:\Backup\%DateFmt(TT.MM.JJJJ)%
    -> Ergebnis: C:\Backup\22.10.2002


    Gruß
    Matthias



    ***schnipp***

    @ECHO OFF

    REM ------------------------------------------------------------------------------------------------------------------------------------------------------

    SET DateFmt(JJJJ)=%DATE:~9,4%
    SET DateFmt(MM)=%DATE:~6,2%
    SET DateFmt(TT)=%DATE:~3,2%

    IF "%DateFmt(TT):~0,1%" EQU "0" SET DateFmt(T)=%DateFmt(TT):~1,1%
    IF "%DateFmt(TT):~0,1%" NEQ "0" SET DateFmt(T)=%DateFmt(TT):~0,2%

    IF "%DateFmt(MM):~0,1%" EQU "0" SET DateFmt(M)=%DateFmt(MM):~1,1%
    IF "%DateFmt(MM):~0,1%" NEQ "0" SET DateFmt(M)=%DateFmt(MM):~0,2%



    SET DateFmt(JJJJMMTT)=%DateFmt(JJJJ)%%DateFmt(MM)%%DateFmt(TT)%
    SET DateFmt(JJJJ-MM-TT)=%DateFmt(JJJJ)%-%DateFmt(MM)%-%DateFmt(TT)%
    SET DateFmt(JJJJ-MM)=%DateFmt(JJJJ)%-%DateFmt(MM)%
    SET DateFmt(TT.MM.JJJJ)=%DateFmt(TT)%.%DateFmt(MM)%.%DateFmt(JJJJ)%


    SET DateFmt(M/T/JJJJ)=%DateFmt(M)%/%DateFmt(T)%/%DateFmt(JJJJ)%

    GOTO ENDE

    REM ------------------------------------------------------------------------------------------------------------------------------------------------------ FEHLER
    GOTO ENDE

    REM ------------------------------------------------------------------------------------------------------------------------------------------------------ ENDE
    ***schnapp*** [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 2 Tagen 0 hilfreich
      Re^2: DP: aktuelle Zeit und Datum in eine Variable

      Hi Matthias,

      wie um alles in der Welt bist Du auf diese Lösung gekommen? Ich habe versucht, das ganze zu verstehen, bin aber kläglich gescheitert.
      Vorallem das %date:~xx%, das überreiß ich gar net.

      *** ganztieferstaunt ***

      Tom

      • Antwort von nach 6 Tagen 0 hilfreich
        Re^3: DP: aktuelle Zeit und Datum in eine Variable

        Hi Tom,

        dann schau Dir doch mal die Hilfe zum SET-Befehl an.

        SET /?

        Mit Windows 2000 sind einige Befehlserweiterungen dazu gekommen. Man kann jetzt mittels SET Teilstrings rauskopieren (ähnlich wie LEFT, RIGHT, MID) und auch das ersetzen von Text in Umgebungsvariablen funktioniert jetzt.
        Außderdem kann mit SET jetzt richtig rechnen. Mit SET /A kann man addieren, ... multiplizieren, ... usw.


        Gruß
        Matthias [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 10 Tagen 0 hilfreich
      Re^2: DP: aktuelle Zeit und Datum in eine Variable

      wie bekomme ich es hin, dass eine Datei generiert wird?
      xcopy "C:\temp\backup.txt" C:\TEST\%DateFmt(JJJJ-MM-TT)% /c /s /r /i >C:\TEST\log.txt

      hier wird dann immer auf eine Eingabe gewartet. D= Dokument, V=Verzeichnis

      Kann ich auch die Uhrzeit mit ins Spiel bringen?

      danke
      Steffi wenn Du Windows 2000 oder XP im Einsatz hast, dann ist das
      ganz einfach.

      Du kannst dann nach ausführen dieses Scripts z.B. machen

      MD C:\Backup\%DateFmt(JJJJ-MM-TT)%
      -> Ergebnis: C:\Backup\2002-10-22

      MD C:\Backup\%DateFmt(TT.MM.JJJJ)%
      -> Ergebnis: C:\Backup\22.10.2002


      Gruß
      Matthias



      ***schnipp***

      @ECHO OFF

      REM
      ------------------------------------------------------------------------------------------------------------------------------------------------------

      SET DateFmt(JJJJ)=%DATE:~9,4%
      SET DateFmt(MM)=%DATE:~6,2%
      SET DateFmt(TT)=%DATE:~3,2%

      IF "%DateFmt(TT):~0,1%" EQU "0" SET
      DateFmt(T)=%DateFmt(TT):~1,1%
      IF "%DateFmt(TT):~0,1%" NEQ "0" SET
      DateFmt(T)=%DateFmt(TT):~0,2%

      IF "%DateFmt(MM):~0,1%" EQU "0" SET
      DateFmt(M)=%DateFmt(MM):~1,1%
      IF "%DateFmt(MM):~0,1%" NEQ "0" SET
      DateFmt(M)=%DateFmt(MM):~0,2%



      SET
      DateFmt(JJJJMMTT)=%DateFmt(JJJJ)%%DateFmt(MM)%%DateFmt(TT)%
      SET
      DateFmt(JJJJ-MM-TT)=%DateFmt(JJJJ)%-%DateFmt(MM)%-%DateFmt(TT)%
      SET DateFmt(JJJJ-MM)=%DateFmt(JJJJ)%-%DateFmt(MM)%
      SET
      DateFmt(TT.MM.JJJJ)=%DateFmt(TT)%.%DateFmt(MM)%.%DateFmt(JJJJ)%


      SET
      DateFmt(M/T/JJJJ)=%DateFmt(M)%/%DateFmt(T)%/%DateFmt(JJJJ)%

      GOTO ENDE

      REM
      ------------------------------------------------------------------------------------------------------------------------------------------------------ FEHLER
      GOTO ENDE

      REM
      ------------------------------------------------------------------------------------------------------------------------------------------------------ ENDE

      • Antwort von nach 12 Tagen 0 hilfreich
        Re^3: DP: aktuelle Zeit und Datum in eine Variable

        wenn Du nur eine Datei kopieren möchtest, dann verwende doch "COPY" ;-). Falls das Verzeichnis noch nicht vorhanden ist, dann vorher ein MD machen.
        Oder
        ECHO V | XCOPY ..... dann wird immer V gesendet und die Frage automatisch beantwortet.

        Das mit der Uhrzeit funktioniert im Prinzip genauso wie mit dem Datum. Du musst halt %TIME% zerpflücken. Aber ACHTUNG: Windows kann keine ":" (Doppelpunkte) als Datei- und Verzeichnisnamen verwenden !!!


        Gruß
        Matthias [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!