日期:2014-05-17  浏览次数:21362 次

批处理遍历文件夹(文件夹名为日期),拷贝符合条件的文件夹及其文件
详细说明一下:我有一个文件夹pic,pic下有许多以日期命名的子文件夹例如:2009-12-01,2009-12-02......2010-01-01,2010-02-02...
子文件下放的是图片文件。
想让主bat文件可以遍历文件夹pic,找到在某段时间内的子文件夹(例如2009-12-12到2010-01-01),把找到的文件夹及其图片文件复制到另一个文件夹下pic_bak,并删除pic中复制的文件夹及图片文件,主bat文件应该有①遍历文件的路径 ②文件拷贝目的路径 ③条件开始日期 ④条件结束日期四个变量;
再有一个bat文件可以用户输入修改主bat文件中的四个变量,呵呵,
感觉比较难,希望大家帮忙试试,分不够可以加,呵呵




------解决方案--------------------
大致试了下,不对的地方请修改:
config.ini
BatchFile code
date1=2010-01-01
date2=2010-01-31
path1=c:\test\1
path2=c:\test\2

------解决方案--------------------
探讨
批处理取几个月前的第一天的没有人回答,我就放弃了,007要是能给做,我可以在开贴,呵呵,
给个答案吧,呵呵

------解决方案--------------------
test.bat

BatchFile code
@echo off
set "dateBegin=2009-12-01"
set "dateEnd=2009-12-04"
set "pathSrc=D:\pic"
set "pathDst=D:\pic_bak"
for /f "delims=" %%a in ('dir /ad /b "%pathSrc%"') do (
    if "%%a" geq "%dateBegin%" (
        if "%%a" leq "%dateEnd%" (
            xcopy /e /q /i "%pathSrc%\%%a" %pathDst%\%%a && rd /s /q "%pathSrc%\%%a"
        )
    )
)