Hallo,
habe folgendes Problem und brauche eine Lösung.
Ich möchte in Format JJJJMMTT den TT 2-stellig addieren können.
Sobald ich folgende Variablen setzte, wird einstellig addiert.
set jahr=2015
set monat=01
set tag=01
Zusätzlich wenn ich für set tag=08 eingebe, bekomme ich folgenden Fehler.
Ungültige Zahl. Numerische Konstanten sind entweder dezimale <17>,
hexadezimale <0x11> oder oktale <021> Zahlen.
Danke im Voraus
balcanlar
----------------------------------------------------------------------------------------
Hierzu mein Batch
@echo off
set jahr=2015
set monat=01
set tag=01
echo.
:loop
rem pause
set /a Schaltjahr=%jahr%%%4
if %jahr:~-2%==00 set /a Schaltjahr+=%Jahr:~,2%%%4
set korrektur=false
IF %tag%==28 IF %Schaltjahr% neq 0 if %monat%==02 set monat=03& set tag=01& set korrektur=true
IF %tag%==29 IF %monat%==02 set monat=03& set tag=01& set korrektur=true
IF not %tag%==30 goto :notag30
IF %monat%==04 set monat=05& set tag=01& set korrektur=true
IF %monat%==06 set monat=07& set tag=01& set korrektur=true
IF %monat%==09 set monat=10& set tag=01& set korrektur=true
IF %monat%==11 set monat=12& set tag=01& set korrektur=true
:notag30
IF not %tag%==31 goto :notag31
IF %monat%==01 set monat=02& set tag=01& set korrektur=true
IF %monat%==03 set monat=04& set tag=01& set korrektur=true
IF %monat%==05 set monat=06& set tag=01& set korrektur=true
IF %monat%==08 set monat=09& set tag=01& set korrektur=true
IF %monat%==07 set monat=08& set tag=01& set korrektur=true
IF %monat%==10 set monat=11& set tag=01& set korrektur=true
IF %monat%==12 set monat=01& set tag=01& set /a jahr+=1& set korrektur=true
:notag31
IF "%korrektur%"=="true" goto :fertig
set /a tag=%tag%+1
set "tag=%tag:~-2%"
:fertig
echo %jahr%.%monat%.%tag%
IF %jahr%%monat%%tag%==20150120 goto beenden
goto loop
:beenden
pause
habe folgendes Problem und brauche eine Lösung.
Ich möchte in Format JJJJMMTT den TT 2-stellig addieren können.
Sobald ich folgende Variablen setzte, wird einstellig addiert.
set jahr=2015
set monat=01
set tag=01
Zusätzlich wenn ich für set tag=08 eingebe, bekomme ich folgenden Fehler.
Ungültige Zahl. Numerische Konstanten sind entweder dezimale <17>,
hexadezimale <0x11> oder oktale <021> Zahlen.
Danke im Voraus
balcanlar
----------------------------------------------------------------------------------------
Hierzu mein Batch
@echo off
set jahr=2015
set monat=01
set tag=01
echo.
:loop
rem pause
set /a Schaltjahr=%jahr%%%4
if %jahr:~-2%==00 set /a Schaltjahr+=%Jahr:~,2%%%4
set korrektur=false
IF %tag%==28 IF %Schaltjahr% neq 0 if %monat%==02 set monat=03& set tag=01& set korrektur=true
IF %tag%==29 IF %monat%==02 set monat=03& set tag=01& set korrektur=true
IF not %tag%==30 goto :notag30
IF %monat%==04 set monat=05& set tag=01& set korrektur=true
IF %monat%==06 set monat=07& set tag=01& set korrektur=true
IF %monat%==09 set monat=10& set tag=01& set korrektur=true
IF %monat%==11 set monat=12& set tag=01& set korrektur=true
:notag30
IF not %tag%==31 goto :notag31
IF %monat%==01 set monat=02& set tag=01& set korrektur=true
IF %monat%==03 set monat=04& set tag=01& set korrektur=true
IF %monat%==05 set monat=06& set tag=01& set korrektur=true
IF %monat%==08 set monat=09& set tag=01& set korrektur=true
IF %monat%==07 set monat=08& set tag=01& set korrektur=true
IF %monat%==10 set monat=11& set tag=01& set korrektur=true
IF %monat%==12 set monat=01& set tag=01& set /a jahr+=1& set korrektur=true
:notag31
IF "%korrektur%"=="true" goto :fertig
set /a tag=%tag%+1
set "tag=%tag:~-2%"
:fertig
echo %jahr%.%monat%.%tag%
IF %jahr%%monat%%tag%==20150120 goto beenden
goto loop
:beenden
pause