fixed dry run and robocopy proper
This commit is contained in:
@@ -19,6 +19,13 @@ if /I "%~1"=="/n" set "DRY=1"
|
||||
|
||||
set "projectDir=%CD%"
|
||||
set "scriptDir=%~dp0"
|
||||
set "RUN_ID=%RANDOM%_%RANDOM%"
|
||||
set "DELETE_LIST=%TEMP%\upg_delete_%RUN_ID%.lst"
|
||||
|
||||
setlocal EnableDelayedExpansion
|
||||
set /a debugTotal=0
|
||||
set /a debugPlanned=0
|
||||
set /a debugMissing=0
|
||||
|
||||
echo ==============================================
|
||||
echo UpgradeToGitProj in "%projectDir%"
|
||||
@@ -75,7 +82,6 @@ if not exist "%projectDir%\.git" (
|
||||
|
||||
if "%DRY%"=="1" (
|
||||
echo [DRY] git lfs install
|
||||
goto AfterCopy
|
||||
) else (
|
||||
pushd "%projectDir%" >nul
|
||||
git lfs install
|
||||
@@ -115,11 +121,14 @@ if exist "%animDir%" (
|
||||
for /d %%D in ("%%S\daily_*") do (
|
||||
set "_src=%%D\seq"
|
||||
set "_dst=%rendersDir%\!submodName!"
|
||||
set /a debugTotal+=1
|
||||
if "%DRY%"=="1" (
|
||||
if exist "!_src!" (
|
||||
echo [DRY] WOULD copy "!_src!" -^> "!_dst!"
|
||||
set /a debugPlanned+=1
|
||||
) else (
|
||||
echo [DRY] Skip: missing "!_src!"
|
||||
set /a debugMissing+=1
|
||||
)
|
||||
)
|
||||
call :CopySeqToRenders "!_src!" "!_dst!"
|
||||
@@ -134,11 +143,14 @@ if exist "%animDir%" (
|
||||
set "_dname=%%~nD"
|
||||
set "_src=%%D\seq"
|
||||
set "_dst=%rendersDir%\!_dname!"
|
||||
set /a debugTotal+=1
|
||||
if "%DRY%"=="1" (
|
||||
if exist "!_src!" (
|
||||
echo [DRY] WOULD copy "!_src!" -^> "!_dst!"
|
||||
set /a debugPlanned+=1
|
||||
) else (
|
||||
echo [DRY] Skip: missing "!_src!"
|
||||
set /a debugMissing+=1
|
||||
)
|
||||
)
|
||||
call :CopySeqToRenders "!_src!" "!_dst!"
|
||||
@@ -154,11 +166,14 @@ if "!foundAny!"=="0" (
|
||||
set "_dname=%%~nD"
|
||||
set "_src=%%D\seq"
|
||||
set "_dst=%rendersDir%\!_dname!"
|
||||
set /a debugTotal+=1
|
||||
if "%DRY%"=="1" (
|
||||
if exist "!_src!" (
|
||||
echo [DRY] WOULD copy "!_src!" -^> "!_dst!"
|
||||
set /a debugPlanned+=1
|
||||
) else (
|
||||
echo [DRY] Skip: missing "!_src!"
|
||||
set /a debugMissing+=1
|
||||
)
|
||||
)
|
||||
call :CopySeqToRenders "!_src!" "!_dst!"
|
||||
@@ -167,6 +182,30 @@ if "!foundAny!"=="0" (
|
||||
)
|
||||
|
||||
:AfterCopy
|
||||
if "%DRY%"=="1" (
|
||||
echo [DRY] Summary: total dailies=!debugTotal!, with seq=!debugPlanned!, missing=!debugMissing!
|
||||
if exist "%DELETE_LIST%" (
|
||||
echo [DRY] Would offer to delete these seq folders after copy:
|
||||
for /f "usebackq delims=" %%P in ("%DELETE_LIST%") do echo [DRY] %%P
|
||||
del "%DELETE_LIST%" >nul 2>&1
|
||||
)
|
||||
) else (
|
||||
if exist "%DELETE_LIST%" (
|
||||
echo.
|
||||
echo Cleanup option: Remove original seq folders that were copied?
|
||||
choice /C YN /N /M "Delete original seq folders now? (Y/N): "
|
||||
if errorlevel 2 (
|
||||
echo Skipping deletion of original seq folders.
|
||||
) else (
|
||||
for /f "usebackq delims=" %%P in ("%DELETE_LIST%") do (
|
||||
echo Deleting seq folder: "%%P"
|
||||
rd /S /Q "%%P" 2>nul
|
||||
)
|
||||
echo Cleanup complete.
|
||||
)
|
||||
del "%DELETE_LIST%" >nul 2>&1
|
||||
)
|
||||
)
|
||||
echo Done.
|
||||
exit /b 0
|
||||
|
||||
@@ -211,30 +250,28 @@ setlocal EnableExtensions EnableDelayedExpansion
|
||||
set "src=%~1"
|
||||
set "dst=%~2"
|
||||
|
||||
if "%DRY%"=="1" (
|
||||
if not exist "%src%" endlocal & exit /b 0
|
||||
if not exist "%dst%" echo [DRY] mkdir "%dst%"
|
||||
>> "%DELETE_LIST%" echo %src%
|
||||
endlocal & exit /b 0
|
||||
)
|
||||
|
||||
if not exist "%src%" (
|
||||
echo [INFO] Skip: missing seq folder "%src%"
|
||||
endlocal & exit /b 0
|
||||
)
|
||||
|
||||
if not exist "%dst%" (
|
||||
if "%DRY%"=="1" (
|
||||
echo [DRY] mkdir "%dst%"
|
||||
) else (
|
||||
mkdir "%dst%" >nul 2>&1
|
||||
)
|
||||
)
|
||||
if not exist "%dst%" mkdir "%dst%" >nul 2>&1
|
||||
|
||||
set "ROBO_OPTS=/E /XO /XN /XC /R:1 /W:1 /NFL /NDL /NP /NJH /NJS"
|
||||
set "ROBO_DRY="
|
||||
if "%DRY%"=="1" set "ROBO_DRY=/L"
|
||||
|
||||
echo Copy seq: "%src%" -> "%dst%"
|
||||
if "%DRY%"=="1" (
|
||||
rem Show what robocopy WOULD do: enable /L and display full output to console
|
||||
robocopy "%src%" "%dst%" * /E /XO /XN /XC /R:1 /W:1 /L /TEE
|
||||
) else (
|
||||
rem Quiet in apply mode
|
||||
robocopy "%src%" "%dst%" * %ROBO_OPTS% >nul
|
||||
robocopy "%src%" "%dst%" * %ROBO_OPTS% >nul
|
||||
set "__rc=%ERRORLEVEL%"
|
||||
if not "%__rc%"=="" (
|
||||
if %__rc% LSS 8 (
|
||||
>> "%DELETE_LIST%" echo %src%
|
||||
)
|
||||
)
|
||||
|
||||
endlocal & exit /b 0
|
||||
|
||||
Reference in New Issue
Block a user