我需要从两个日期内修改的所有硬盘驱动器上的所有文件夹中移动文件。因为我是批处理的新手,请解释一下这意味着什么。
我想要的是什么:
搜索所有硬盘中的所有文件夹,查找从11月10日开始修改的文件, 2013年至2013年11月11日在驱动器D中创建文件夹:/ backups / 11_11全部移动 扫描中找到的文件在日期和YEAR中修改了 文件夹创建一个文本文件,其中包含所有文件的日志, 错误和移动时间(移动时间可选)
答案 0 :(得分:1)
@ECHO OFF &SETLOCAL
set "date1=01/09/2013"
set "date2=31/10/2013"
set "SearchPath=D:/backups/11_11"
set "datestamp1=%date1:~6,4%%date1:~3,2%%date1:~0,2%"
set "datestamp2=%date2:~6,4%%date2:~3,2%%date2:~0,2%"
for %%a in ("%searchpath%\*") do (
set "fname=%%~a"
for /f "tokens=1-3 delims=/-. " %%b in ("%%~ta") do set "datestampF=%%~d%%~c%%~b"
SETLOCAL ENABLEDELAYEDEXPANSION
if "!datestampF!" gtr "%datestamp1%" if "!datestampF!" lss "%datestamp2%" echo move "!fname!" "DestinationFolder"
endlocal
)
删除echo
以使其正常工作。