2015-02-09 42 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

相關問題