151 lines
4.8 KiB
Batchfile
151 lines
4.8 KiB
Batchfile
@echo off
|
|
setlocal
|
|
|
|
REM Always use 'nathan' as NAS username
|
|
set NASUSER=nathan
|
|
|
|
REM Menu for operation selection
|
|
echo.
|
|
echo Select operation:
|
|
echo 1. Generate thumbnails only
|
|
echo 2. SSH cleanup only
|
|
echo 3. Both (generate thumbnails + SSH cleanup)
|
|
echo 4. Fix OneDrive thumbnail override (NEW!)
|
|
echo.
|
|
set /p CHOICE=Enter your choice (1-4):
|
|
|
|
if "%CHOICE%"=="1" goto THUMBS_ONLY
|
|
if "%CHOICE%"=="2" goto SSH_ONLY
|
|
if "%CHOICE%"=="3" goto BOTH
|
|
if "%CHOICE%"=="4" goto FIX_ONEDRIVE
|
|
echo Invalid choice. Exiting.
|
|
exit /b
|
|
|
|
:THUMBS_ONLY
|
|
REM Prompt for Windows path
|
|
set /p WINPATH=Enter the full Windows path to your NAS directory (e.g., R:\YouTube\Streams\MixerTwitch):
|
|
if "%WINPATH%"=="" (
|
|
echo No path provided. Exiting.
|
|
exit /b
|
|
)
|
|
|
|
REM Convert Windows path to NAS path and pre-seed eaDir_tmp from @eaDir on NAS
|
|
set "RELPATH=%WINPATH:~3%"
|
|
set "RELPATH=%RELPATH:\=/%"
|
|
set "NASPATH=/volume1/Hydra/%RELPATH%"
|
|
|
|
echo Seeding existing thumbnails on NAS (extract_eadir_to_tmp.sh)...
|
|
ssh Hydra "bash -lc '~/extract_eadir_to_tmp.sh \"%NASPATH%\" || true'"
|
|
|
|
REM Run psthumbgen.py
|
|
python psthumbgen.py --directory "%WINPATH%"
|
|
goto END
|
|
|
|
:SSH_ONLY
|
|
REM Prompt for Windows path
|
|
set /p WINPATH=Enter the full Windows path to your NAS directory (e.g., R:\YouTube\Streams\MixerTwitch):
|
|
if "%WINPATH%"=="" (
|
|
echo No path provided. Exiting.
|
|
exit /b
|
|
)
|
|
|
|
REM Convert Windows path to NAS path
|
|
set "RELPATH=%WINPATH:~3%"
|
|
set "RELPATH=%RELPATH:\=/%"
|
|
set "NASPATH=/volume1/Hydra/%RELPATH%"
|
|
|
|
echo DEBUG: WINPATH = %WINPATH%
|
|
echo DEBUG: RELPATH = %RELPATH%
|
|
echo DEBUG: NASPATH = %NASPATH%
|
|
echo.
|
|
REM Ensure nascleanup.sh exists on NAS (upload + fix line endings), then run it
|
|
echo Uploading nascleanup.sh to NAS and running cleanup...
|
|
if not exist "%~dp0nascleanup.sh" (
|
|
echo ERROR: nascleanup.sh not found next to this batch file.
|
|
goto END
|
|
)
|
|
ssh Hydra "cat > ~/nascleanup.sh" < "%~dp0nascleanup.sh"
|
|
ssh Hydra "bash -lc 'if command -v dos2unix >/dev/null 2>&1; then dos2unix -f ~/nascleanup.sh; else tr -d \"\r\" < ~/nascleanup.sh > ~/nascleanup.sh.tmp && mv ~/nascleanup.sh.tmp ~/nascleanup.sh; fi; chmod +x ~/nascleanup.sh; ~/nascleanup.sh \"%NASPATH%\"'"
|
|
goto END
|
|
|
|
:BOTH
|
|
REM Prompt for Windows path
|
|
set /p WINPATH=Enter the full Windows path to your NAS directory (e.g., R:\YouTube\Streams\MixerTwitch):
|
|
if "%WINPATH%"=="" (
|
|
echo No path provided. Exiting.
|
|
exit /b
|
|
)
|
|
|
|
REM Convert Windows path to NAS path
|
|
set "RELPATH=%WINPATH:~3%"
|
|
set "RELPATH=%RELPATH:\=/%"
|
|
set "NASPATH=/volume1/Hydra/%RELPATH%"
|
|
|
|
echo DEBUG: WINPATH = %WINPATH%
|
|
echo DEBUG: RELPATH = %RELPATH%
|
|
echo DEBUG: NASPATH = %NASPATH%
|
|
echo.
|
|
|
|
REM Pre-seed eaDir_tmp from @eaDir on NAS before generation
|
|
echo Seeding existing thumbnails on NAS (extract_eadir_to_tmp.sh)...
|
|
ssh Hydra "bash -lc '~/extract_eadir_to_tmp.sh \"%NASPATH%\" || true'"
|
|
|
|
REM Run psthumbgen.py
|
|
python psthumbgen.py --directory "%WINPATH%"
|
|
|
|
REM SSH cleanup commands (run separately)
|
|
REM Ensure nascleanup.sh exists on NAS (upload + fix line endings), then run it
|
|
echo Uploading nascleanup.sh to NAS and running cleanup...
|
|
if not exist "%~dp0nascleanup.sh" (
|
|
echo ERROR: nascleanup.sh not found next to this batch file.
|
|
goto END
|
|
)
|
|
ssh Hydra "cat > ~/nascleanup.sh" < "%~dp0nascleanup.sh"
|
|
ssh Hydra "bash -lc 'if command -v dos2unix >/dev/null 2>&1; then dos2unix -f ~/nascleanup.sh; else tr -d \"\r\" < ~/nascleanup.sh > ~/nascleanup.sh.tmp && mv ~/nascleanup.sh.tmp ~/nascleanup.sh; fi; chmod +x ~/nascleanup.sh; ~/nascleanup.sh \"%NASPATH%\"'"
|
|
goto END
|
|
|
|
:FIX_ONEDRIVE
|
|
echo.
|
|
echo =================================================================
|
|
echo FIX ONEDRIVE THUMBNAIL OVERRIDE
|
|
echo =================================================================
|
|
echo.
|
|
echo This will fix OneDrive overriding your custom thumbnails with
|
|
echo generic file icons for unsupported formats like .blend files.
|
|
echo.
|
|
echo What this does:
|
|
echo - Disables OneDrive cloud thumbnail providers
|
|
echo - Restores local thumbnail priority
|
|
echo - Prevents future thumbnail cache deletion
|
|
echo.
|
|
set /p CONFIRM=Continue? (y/n):
|
|
if /i not "%CONFIRM%"=="y" goto END
|
|
|
|
echo.
|
|
echo Running PowerShell script to fix OneDrive thumbnail override...
|
|
echo.
|
|
|
|
REM Check if PowerShell script exists
|
|
if not exist "fix_thumbnail_override.ps1" (
|
|
echo ERROR: fix_thumbnail_override.ps1 not found in current directory.
|
|
echo Please ensure the PowerShell script is in the same folder as this batch file.
|
|
pause
|
|
goto END
|
|
)
|
|
|
|
REM Run PowerShell script as administrator
|
|
powershell -ExecutionPolicy Bypass -Command "Start-Process PowerShell -ArgumentList '-ExecutionPolicy Bypass -File \"%~dp0fix_thumbnail_override.ps1\"' -Verb RunAs"
|
|
|
|
echo.
|
|
echo OneDrive thumbnail override fix initiated.
|
|
echo Please check the PowerShell window for progress and results.
|
|
echo.
|
|
echo After the fix completes:
|
|
echo 1. Restart your computer
|
|
echo 2. Re-run your thumbnail generation process
|
|
echo 3. Your custom thumbnails should now have priority!
|
|
echo.
|
|
goto END
|
|
|
|
:END
|
|
pause |