Files
ProjectStructure_HOME/scripts_old/0MoveToCurrent.bat
2025-08-15 12:07:33 -06:00

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