You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.9 KiB
77 lines
1.9 KiB
@echo off
|
|
:: Copyright (c) 2025 by Robert Strutts
|
|
:: License: MIT
|
|
|
|
:: Activate the virtual environment
|
|
call C:\Users\$env:USERNAME\Common\env_dedup\Scripts\Activate.ps1
|
|
|
|
:: Check if the first argument is a directory
|
|
if not exist "%~1\" (
|
|
echo Error: '%~1' is not a directory.
|
|
exit /b 1
|
|
)
|
|
|
|
:: Get list of images
|
|
setlocal enabledelayedexpansion
|
|
set count=0
|
|
for %%f in ("%~1\*.jpg" "%~1\*.png") do (
|
|
set /a count+=1
|
|
set images[!count!]=%%~nxf
|
|
)
|
|
|
|
:: Check if we found any images
|
|
if %count% equ 0 (
|
|
echo No images found.
|
|
exit /b 1
|
|
)
|
|
|
|
:: Outer loop
|
|
for /l %%i in (1,1,%count%) do (
|
|
set outer_image=!images[%%i]!
|
|
|
|
:: Inner loop (only later images to avoid double-checks)
|
|
set /a j=%%i+1
|
|
for /l %%j in (!j!,1,%count%) do (
|
|
set inner_image=!images[%%j]!
|
|
|
|
echo Compairing files: !outer_image! TO !inner_image!
|
|
echo.
|
|
python dedup.py "%~1\!outer_image!" "%~1\!inner_image!"
|
|
set exit_code=!errorlevel!
|
|
if !errorlevel! equ 1 (
|
|
echo %~1\!outer_image!>> dups.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 2 (
|
|
echo %~1\!outer_image!>> alike.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 3 (
|
|
echo %~1\!inner_image!>> size.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 4 (
|
|
echo %~1\!inner_image!>> invalid.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 5 (
|
|
echo %~1\!outer_image!>> sameGPS.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 5 (
|
|
echo %~1\!outer_image!>> sameGPSmile.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 8 (
|
|
echo %~1\!outer_image!>> invalid.txt
|
|
goto :break_inner
|
|
)
|
|
if !errorlevel! equ 9 (
|
|
echo %~1\!outer_image!>> size.txt
|
|
goto :break_inner
|
|
)
|
|
)
|
|
:break_inner
|
|
)
|
|
|
|
endlocal
|
|
|