Saved Bookmarks
| 1. |
Solve : .Bat to create nest of folders? |
|
Answer» I need to .bat file to create a nest of folders Main folder to be created in a location using tomorrows date Contained within a folder called: Mail191208 (Mailddmmyy) with tomorrows date year to shortyear Contained within that folder 3 other folders This folder containing 3 other folders with specific names mail1 mail2 mailrun This what I got so far not working as I entended @echo off cls :: Create/run vbs file (extracts date components) & set variables.. :: set vb=%temp%\newdate.vbs echo Newdate = (Date() ) > %vb% echo Yyyy = DatePart("YYYY", Newdate) >> %vb% echo Mm = DatePart("M" , Newdate) >> %vb% echo Dd = DatePart("D" , Newdate) >> %vb% echo Wd = DatePart("WW" , Newdate) >> %vb% echo Wn = DatePart("Y" , Newdate) >> %vb% echo Ww = datepart("W" , Newdate) >> %vb% echo Wscript.Echo Yy^&" "^&Mm^&" "^&Dd^&" "^&Wd^&" "^&Ww^&" "^&Wn >> %vb% FOR /F "tokens=1-6 delims= " %%A in ('cscript //nologo %vb%') do ( set Year=%%A set Month=%%B set Day=%%C set Week#=%%D set Weekday#=%%E set Day#=%%F set ShortYear=%%Z ) del %vb% If %Month% lss 10 set Month=0%Month% if %Day% lss 10 set Day=0%Day% set Today=%Day%%Month%%Year% for /f "Tokens=%Month%" %%A in ( "January February March April May June July August September October November December") do ( set Alfamonth=%%A ) set Filename="\%Year%\%Alfamonth%\%Today%" echo Source path\ echo filename = %Filename% echo. echo Today = %Today% echo Year = %Year% echo Alpha month = %Alfamonth% md c:\test\%Year%\%Alfamonth%\%Today% md c:\test\%Year%\%Alfamonth%\%Today%\mail\%%E\%%B\%%Z Its creating the folders as follows: C:\test\12\511812\mail%%E require C:test\December\mail191208right got it part working still trying to create the folder mailddmmyy (spefically with date yy) C:\test\2008\December\18122008\mail\%E\%B\%ZHi Got it to work but have to enter the year manually. How can I convert %Year% instead of YYYY to YY for example if %Year%=2008 set Year=08 if %Year%=2009 set Year=09 Current working code.. @echo off cls : This file should be saved as .bat, and when run will create a copy of the outgoing mail to the given DESTINATION as PER code :: Create/run vbs file (extracts date components) & set variables.. :: set vb=%temp%\newdate.vbs echo Newdate = (Date() ) > %vb% echo Yyyy = DatePart("YYYY", Newdate) >> %vb% echo Mm = DatePart("M" , Newdate) >> %vb% echo Dd = DatePart("D" , Newdate) >> %vb% echo Wd = DatePart("WW" , Newdate) >> %vb% echo Wn = DatePart("Y" , Newdate) >> %vb% echo Ww = datepart("W" , Newdate) >> %vb% echo Wscript.Echo Yyyy^&" "^&Mm^&" "^&Dd^&" "^&Wd^&" "^&Ww^&" "^&Wn >> %vb% FOR /F "tokens=1-6 delims= " %%A in ('cscript //nologo %vb%') do ( set Year=%%A set Month=%%B set Day=%%C set Week#=%%D set Weekday#=%%E set Day#=%%F ) del %vb% If %Month% lss 10 set Month=0%Month% if %Day% lss 10 set Day=0%Day% set Today=%Day%%Month%%Year% for /f "Tokens=%Month%" %%A in ( "January February March April May June July August September October November December") do ( set Alfamonth=%%A ) set Filename="\%Year%\%Alfamonth%\%Today%" echo Source path\ echo filename = %Filename% echo. echo Today = %Today% echo Year = %Year% echo Alpha month = %Alfamonth% echo Day=%Day% echo Month=%Month% md c:\test\%Year%\%Alfamonth%\%Today% md c:\test\%Year%\%Alfamonth%\%Today%\mail%Day%%Month%"08" |
|