Ankündigung

Einklappen
Keine Ankündigung bisher.

Format von %date% anpassen (Batch)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Format von %date% anpassen (Batch)

    hallo zusammen,

    habe versucht mit einer batch-datei ein backup zu machen, was mich noch interessieren würde (auch für den privaten gebrauch) kennt jemand einen paramter bei dem man das datumsformat von "%date%" konfigurieren kann?

    es sollte z.b. folgender ordner erstellt werden: y:\backup_20041116

    wenn man den befehl so verwendet:
    XCOPY C:\TEST\DATEN\*.* Y:\Backup_%date% /S /E /F /Y
    funzts nicht da das datumsformat (tt.mm.jjjj) nicht zulässig ist
    gruess
    rookie

  • #2
    Versuchs mal so:
    %DATE% - %TIME:~0,5%

    Kommentar


    • #3
      Danke an Rob:
      Code:
      ::Datum als "SortDate" festlegen----------------------------------------------------------------------
      @ECHO OFF
      IF NOT "%1"=="" GOTO Syntax
      
      :: Use BATCHMAN to retrieve day
      BATCHMAN DAY
      :: Errorlevel 0 means BATCHMAN was not found
      IF NOT ERRORLEVEL 1 GOTO NotFound
      FOR %%A IN   (1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL  %%A SET DD=0%%A
      FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL 1%%A SET DD=1%%A
      FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL 2%%A SET DD=2%%A
      FOR %%A IN (0 1)                 DO IF ERRORLEVEL 3%%A SET DD=3%%A
      
      :: Use BATCHMAN to retrieve month
      BATCHMAN MONTH
      FOR %%A IN (1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL  %%A SET MM=0%%A
      FOR %%A IN (0 1 2)             DO IF ERRORLEVEL 1%%A SET MM=1%%A
      
      :: Use BATCHMAN to retrieve year
      BATCHMAN YEAR
      FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL  %%A SET YYYY=198%%A
      FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL 1%%A SET YYYY=199%%A
      FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL 2%%A SET YYYY=200%%A
      FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO IF ERRORLEVEL 3%%A SET YYYY=201%%A
      
      :: Store in variable and clean up temporary variables
      SET SortDate=%YYYY%%MM%%DD%
      SET YYYY=
      SET MM=
      SET DD=
      
      :: Display the result
      ECHO.
      ECHO SortDate = %SortDate%
      GOTO End
      
      :Syntax
      ECHO.
      ECHO SortDate.bat,  Version 1.00 for MS-DOS
      ECHO Display the current date in YYYYMMDD format
      ECHO.
      ECHO Usage:  SORTDATE
      ECHO.
      ECHO This batch file uses BATCHMAN, a utility by Michael Mefford
      ECHO.
      ECHO Written by Rob van der Woude
      ECHO [url]http://www.robvanderwoude.com[/url]
      
      :End
      ::-----------------------------------------------------------------------------
      move zipfile.zip %SortDate%.zip
      erzeugt dann genau das, was du willst: 20041116.zip

      bis bald
      Kermit

      Kommentar


      • #4
        @Rookie

        Wieso willst Du nicht VBS lernen, da könntest Du noch viel mehr mit anstellen als mit Batch's?

        grz zer00

        Kommentar


        • #5
          danke für eure lösungen, ein schulkolege hat nach langem googeln folgende lösung gefunden:


          for /f "tokens=2,3,4 delims=. " %%i in ('date /t') do set date=%%k%%j%%i

          XCOPY C:\TEST\DATEN\*.* Y:\Backup_%date% /S /E /F /Y /I
          @zer00

          da ich mit Batch "gross" geworden bin, ist es ne reine Gewohnheitssache, wenn auch vielleicht nicht immer effizient..... Werde aber nach der (hoffentlich bestandenen) SIZ-Prüfung mal VBS unter die Luppe nehmen.....

          danke
          gruess
          rookie

          Kommentar


          • #6
            Na toll!

            Und ich geh 1 Stunde im Netz suchen dabei steht hier genau was ich brauche!

            Was wiedermal beweist, dass man zuerst aufem IB schauen soll!!!



            Mit glücklichen grüssen vom übernächtigten "BackupServerwartungstrottel"
            Gruss siphi

            Wenn einem das Wasser bis zum Hals steht, sollte man den Kopf nicht hängen lassen!

            Kommentar

            Lädt...
            X