Ordner mit Kalenderwoche
Hi,
gibt es eine möglichkeit, per Batchdatei Ordner mit dem Ordnernamen zuzüglich der Kalenderwoche zu erstellen ??
z.B.
Ordnername_KW25
danke für die Hilfe
Cay
gibt es eine möglichkeit, per Batchdatei Ordner mit dem Ordnernamen zuzüglich der Kalenderwoche zu erstellen ??
z.B.
Ordnername_KW25
danke für die Hilfe
Cay
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 187992
Url: https://administrator.de/forum/ordner-mit-kalenderwoche-187992.html
Ausgedruckt am: 23.12.2024 um 16:12 Uhr
3 Kommentare
Neuester Kommentar
Hallo cjoksch.
Wenn du es per Batch pur umsetzen willst, würde ich dich zur DateToWeek Funktion weiterleiten.
Vorab müsstest du das Datum aufsplitten und an die Funktion übergeben.
Grüße
rubberman
Wenn du es per Batch pur umsetzen willst, würde ich dich zur DateToWeek Funktion weiterleiten.
Vorab müsstest du das Datum aufsplitten und an die Funktion übergeben.
@echo off &setlocal
call :GetDate yy mm dd
call :DateToWeek %yy% %mm% %dd% yn cw dw
echo Ordnername_KW%cw%
pause
goto :eof
:GetDate yOut mOut dOut
:: Output: Jahr, Monat und Tag ohne vorangestellte Nullen
setlocal
for /f "tokens=3" %%a in ('reg query "HKCU\Control Panel\International" /v iDate') do set "iDate=%%a"
for /f "tokens=3" %%a in ('reg query "HKCU\Control Panel\International" /v sDate') do set "sDate=%%a"
for /f "tokens=2" %%i in ("%date%") do set "date=%%i"
for /f "tokens=1-3 delims=%sDate%" %%a in ("%date%") do (
if %iDate%==0 set /a mm=100%%a%%100,dd=100%%b%%100,yy=10000%%c%%10000
if %iDate%==1 set /a dd=100%%a%%100,mm=100%%b%%100,yy=10000%%c%%10000
if %iDate%==2 set /a yy=10000%%a%%10000,mm=100%%b%%100,dd=100%%c%%100
)
endlocal &set "%~1=%yy%" &set "%~2=%mm%" &set "%~3=%dd%"
goto :eof
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToWeek %yy% %mm% %dd% yn cw dw
::
:: By: Ritchie Lawrence, Updated 2002-11-20. Version 1.1
::
:: Func: Returns an ISO 8601 Week date from a calendar date.
:: For NT4/2000/XP/2003.
::
:: Args: %1 year component to be converted, 2 or 4 digits (by val)
:: %2 month component to be converted, leading zero ok (by val)
:: %3 day of month to be converted, leading zero ok (by val)
:: %4 var to receive year, 4 digits (by ref)
:: %5 var to receive calendar week, 2 digits, 01 to 53 (by ref)
:: %6 var to receive day of week, 1 digit, 1 to 7 (by ref)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,Jd=153*m+2
set /a Jd=Jd/5+dd+y*365+y/4-y/100+y/400-32045
set /a y=yy+4798,Jp=y*365+y/4-y/100+y/400-31738,t=Jp+3,Jp=t-t%%7
set /a y=yy+4799,Jt=y*365+y/4-y/100+y/400-31738,t=Jt+3,Jt=t-t%%7
set /a y=yy+4800,Jn=y*365+y/4-y/100+y/400-31738,t=Jn+3,Jn=t-t%%7
set /a Jr=%Jp%,yn=yy-1,yn+=Jd/Jt,yn+=Jd/Jn
if %Jd% GEQ %Jn% (set /a Jr=%Jn%) else (if %Jd% GEQ %Jt% set /a Jr=%Jt%)
set /a diff=Jd-Jr,cw=diff/7+1,wd=diff%%7,wd+=1
if %cw% LSS 10 set cw=0%cw%
endlocal&set %4=%yn%&set %5=%cw%&set %6=%wd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Grüße
rubberman