2012-10-19 84 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 *之前*測試它?代碼只是一個示例,你需要準備一點..並啓用延遲擴展 –

相關問題