2015-02-09 63 views
0

我已经以日期格式Year_Month_Day获得了输入文件夹。每个文件夹中包含大量的文件:将文件放在具有相似名称的文件夹中cmd

archive 
| 
+2014-Apr-01 
| 
+2014-Apr-02 
| 
+2014-Apr-03 
| 
+2014-Apr-04 

我需要根据年份和月份从输入文件夹中的所有文件进行排序输出文件夹:

​​

我写的剧本:

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%\ 
) 

echo %h% 

返回“字符串”。

为什么?

回答

0

在代码的开始声明变量h,并重新分配在for循环

+0

我声明变量h =“字符串”变量在代码的开始和之后重新分配它仍然会返回“字符串” – user3301252 2015-02-09 12:38:55

+0

你能更新代码 – sreekanth 2015-02-09 12:51:00

+0

已更新的代码)) – user3301252 2015-02-09 12:58:30

相关问题