cjoksch
Goto Top

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

Content-ID: 187992

Url: https://administrator.de/forum/ordner-mit-kalenderwoche-187992.html

Ausgedruckt am: 23.12.2024 um 16:12 Uhr

rubberman
rubberman 13.07.2012 aktualisiert um 20:03:12 Uhr
Goto Top
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.
@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
bastla
bastla 13.07.2012 um 19:31:10 Uhr
Goto Top
... und ansonsten: Batch Variable mit Kalenderwoche oder ähnliches

Grüße
bastla
cjoksch
cjoksch 25.07.2012 um 08:45:47 Uhr
Goto Top
Danke für die Hilfe

grüße

Cay