65 lines
1.9 KiB
Batchfile
65 lines
1.9 KiB
Batchfile
|
|
@echo off
|
||
|
|
setlocal enabledelayedexpansion
|
||
|
|
|
||
|
|
rem Get current directory
|
||
|
|
set "srcDir=%CD%"
|
||
|
|
echo Current directory: %srcDir%
|
||
|
|
|
||
|
|
rem Get parent directory
|
||
|
|
for %%I in ("%srcDir%\..") do set "parentDir=%%~fI"
|
||
|
|
echo Parent directory: %parentDir%
|
||
|
|
|
||
|
|
rem Set the _CURRENT directory
|
||
|
|
set "currentDir=%parentDir%\_CURRENT"
|
||
|
|
echo Target directory: %currentDir%
|
||
|
|
|
||
|
|
rem Create _CURRENT directory if it doesn't exist
|
||
|
|
if not exist "%currentDir%" (
|
||
|
|
echo Creating _CURRENT directory...
|
||
|
|
mkdir "%currentDir%"
|
||
|
|
)
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo Looking for files in: %srcDir%
|
||
|
|
echo.
|
||
|
|
|
||
|
|
set "fileFound=false"
|
||
|
|
for %%F in ("%srcDir%\*.*") do (
|
||
|
|
rem Skip directories and the batch file itself
|
||
|
|
if not "%%~dpnxF"=="%~f0" if not "%%~aF:~0,1"=="d" (
|
||
|
|
set "fileFound=true"
|
||
|
|
echo Found file: %%~nxF
|
||
|
|
|
||
|
|
if not exist "%currentDir%\%%~nxF" (
|
||
|
|
echo [NEW] Copying to _CURRENT...
|
||
|
|
copy "%%F" "%currentDir%\"
|
||
|
|
) else (
|
||
|
|
echo [EXISTS] Comparing dates...
|
||
|
|
for %%A in ("%%F") do set "sourceDate=%%~tA"
|
||
|
|
for %%B in ("%currentDir%\%%~nxF") do set "targetDate=%%~tB"
|
||
|
|
|
||
|
|
echo Source date: !sourceDate!
|
||
|
|
echo Target date: !targetDate!
|
||
|
|
|
||
|
|
rem Use PowerShell to properly compare file timestamps
|
||
|
|
powershell -Command "if ((Get-Item '%%F').LastWriteTime -gt (Get-Item '%currentDir%\%%~nxF').LastWriteTime) { exit 1 } else { exit 0 }"
|
||
|
|
if !errorlevel! equ 1 (
|
||
|
|
echo [UPDATED] Source is newer, copying...
|
||
|
|
copy "%%F" "%currentDir%\"
|
||
|
|
) else (
|
||
|
|
echo [SKIP] Target is up to date or newer.
|
||
|
|
)
|
||
|
|
)
|
||
|
|
echo.
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
if "%fileFound%"=="false" (
|
||
|
|
echo No files found in %srcDir% to process.
|
||
|
|
echo Make sure you're running this from the correct directory.
|
||
|
|
)
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo Done! Press any key to exit.
|
||
|
|
pause > nul
|