在批处理脚本中按date移动文件到文件夹

目前我有一个7ZIP命令batch file,ZIPS文件在今天的date子目录中,并创build一个该date的zip文件。

"c:\Program Files\7-Zip\7z.exe" ax:\Logs\HS\%date:~10,4%%date:~4,2%%date:~7,2%\%date:~10,4%%date:~4,2%%date:~7,2%_HS.zip X:\Logs\HS\%date:~10,4%%date:~4,2%%date:~7,2%* -xr!*.zip

这是每个月的每一天完成的

 c:\20121018\20121018.zip c:\20121019\20121019.zip 

基本上我也有同样的目录结构是MONTH文件夹。 基本上我需要的是一个将当前date的zip文件移动到相应的月份文件夹的任务。 这将是每个月前进。

任何指导将不胜感激。

基本上你只需要

  1. 对于每个文件,从其名称中提取月份和年份部分
  2. 创建月份目录,如果它不存在
  3. 将zip移动到月份目录中

试试这个代码让你开始…

 for %%a in (*.zip) do ( set fn=%%a set year=!fn:~0,4! set month=!fn:~4,2! if not exist !year!!month!\nul echo md !year!!month! echo move "%%a" "!year!!month!\%%a" ) 

测试它,删除回声命令,再次测试…