I've got input folders in date format Year_Month_Day. Every folder contains lots of files:
archive
|
+2014-Apr-01
|
+2014-Apr-02
|
+2014-Apr-03
|
+2014-Apr-04
I need to sort all files from input folders to output folders according to Year and Month:
2014
|
+2014-Apr
|
+2014-May
|
+2014-Mar
I wrote script:
chcp 1251
setlocal enabledelayedexpansion
set input=d:\arch
set output=d:\test
set h="string"
mkdir %output%\2014
mkdir %output%\2014\2014-Jan
mkdir %output%\2014\2014-Feb
mkdir %output%\2014\2014-Mar
mkdir %output%\2014\2014-Apr
mkdir %output%\2014\2014-May
mkdir %output%\2014\2014-Jun
mkdir %output%\2014\2014-Jul
mkdir %output%\2014\2014-Aug
mkdir %output%\2014\2014-Sep
mkdir %output%\2014\2014-Oct
mkdir %output%\2014\2014-Nov
mkdir %output%\2014\2014-Dec
for /f %%i in ('dir /b %input%\') do (
set h=%%i
echo %h%
move %input%\%%i\#msgs\* %output%\2014\%h:~0,8%\
)
and
echo %h%
returns "string".
Why?