我有两个文件夹和文件夹几乎相同的文件夹。
我想整合它们并删除folderA中与folderB相同的所有文件(相同日期或更早版本)
有人已经问过Here只是在没有检查日期的情况下删除文件。
我想要类似的东西,但只有在年龄相同或更老的情况下才能删除。
谢谢
答案 0 :(得分:0)
试试这个:
@echo off&setlocal enabledelayedexpansion
pushd "%~dp0"
for /f %%i in ('dir /b a') do (call:CmpFTime LSS "a\%%~ni" "b\%%~ni"&&del "a\%%~ni")
:CmpFTime
SETLOCAL
set op=%~1
set fileL=%~2
set fileR=%~3
set attrL=%~4
set attrR=%~5
if "%op%"=="" set op===
if "%attrL%"=="" set attrL=/tw
if "%attrR%"=="" set attrR=%attrL%
for /f "tokens=1-6 delims=/: " %%a in ('"dir %attrL% /-c "%fileL%"|findstr "^^[0-1]""') do (
set TL=%%c%%a%%b%%f%%d%%e
)
for /f "tokens=1-6 delims=/: " %%a in ('"dir %attrR% /-c "%fileR%"|findstr "^^[0-1]""') do (
set TR=%%c%%a%%b%%f%%d%%e
)
if "%TL%" %op% "%TR%" (rem.) ELSE set=2>NUL
EXIT /b
如果包含任何错误,请随时发表评论,我会尽力解决。我替换了foldera和b代替folderb。