批处理遍历文件夹(文件夹名为日期),拷贝符合条件的文件夹及其文件,该如何解决
批处理遍历文件夹(文件夹名为日期),拷贝符合条件的文件夹及其文件
详细说明一下:我有一个文件夹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
详细说明一下:我有一个文件夹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
------解决方案--------------------
------解决方案--------------------
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" ) ) )