我想移动一些文件夹,其所有内容都少于2015年。
例如:
SOURCE FOLDER:
Folder1 2013-06-09
Folder2 2014-05-10
Folder3 2015-10-09
目的地文件夹:
清空(暂无文件)
----------结果:------------
SOURCE FOLDER:
Folder3 2015-10-09
目的地文件夹:
Folder1 2013-06-09
Folder2 2014-05-10
正如你所看到的那样" Folder3"被留在源文件夹后面,因为它不低于2015年。两者都是" Folder1"和" Folder2"被移动到目标文件夹,因为它们都不到2015年。
如果有人能帮助我那会很棒!
答案 0 :(得分:2)
WMIC可用于根据创建日期列出相关文件夹,其方式与区域设置日期格式无关。
@echo off
setlocal disableDelayedExpansion
set "sourceDrive=c:"
set "sourcePath=\source\"
set "destination=c:\destination"
set "year=2015"
for /f "skip=1 delims=" %%A in (
'wmic fsdir where "drive='%sourceDrive%' and path='%sourcePath:\=\\%' and installDate<'%year%0101'" get name'
) do for /f "delims=" %%F in ("%%A") do move "%%~fF" "%destination%"
注意:
\
\
转义为\\
'YYYYMMDD'
格式答案 1 :(得分:1)
@echo off
cd "\Source Folder"
for /D %%a in (*) do for /F "tokens=3 delims=/ " %%b in ("%%~Ta") do (
if %%b lss 2015 (
move "%%a" "\Destination Folder"
)
)