2012-10-19 56 views
2

目前我有一个7ZIP命令批处理文件,ZIPS文件在今天的子目录中,并创建一个具有该日期的zip文件。在批处理脚本中按日期将文件移动到文件夹

"c:\Program Files\7-Zip\7z.exe" a x:\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文件夹。 201210.基本上我需要的是一个任务,它将把今天的zip文件移动到相应的月份文件夹中。这将是每个月的前进。

任何指导将不胜感激。

+1

Robocopy可能能够做到这一点。它包含在Vista之后,可用于XP。 – Slapout

+0

你试过了什么?你有什么问题? –

回答

2

基本上你只需要

  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" 
) 

测试它,删除回显命令,再次测试它...

+0

我删除了回声,它没有按预期工作。它实际上创建了一个文件夹“!year !! month!”在同一个DAY目录中,并将文件移动到那里(X:\ LOGS \ HS \ 20121019 \!year !!月!),而不是向上移动一个目录并将其移动到月份文件夹中 –

+0

为什么在删除echo *之前*测试它?代码只是一个示例,你需要准备一点..并启用延迟扩展 –

相关问题