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-Key: 187992

Url: https://administrator.de/contentid/187992

Printed on: April 25, 2024 at 20:04 o'clock

Member: rubberman
rubberman Jul 13, 2012 updated at 18:03:12 (UTC)
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
Member: bastla
bastla Jul 13, 2012 at 17:31:10 (UTC)
Goto Top
... und ansonsten: Batch Variable mit Kalenderwoche oder ähnliches

Grüße
bastla
Member: cjoksch
cjoksch Jul 25, 2012 at 06:45:47 (UTC)
Goto Top
Danke für die Hilfe

grüße

Cay