@echo off setlocal :: --- Configuration --- :: Set the restart interval in seconds (5 minutes = 300 seconds) set "RESTART_INTERVAL=600" :: Set a unique title for the command window that will run the uploads set "UPLOAD_WINDOW_TITLE=MyHFUploadProcess" :main_loop echo. echo ================================================================= echo [%time%] Starting a new 10-minute upload cycle. echo ================================================================= echo. :: Create a temporary batch file with all the upload commands. :: This is cleaner than running them one by one. ( echo @echo off echo echo Starting hf uploads... echo hf upload EldritchLabs/KrakenSakura-Maelstrom-12B-v1 B:\12B\KrakenSakura-Maelstrom-12B-v1\model-00001-of-00005.safetensors echo hf upload EldritchLabs/KrakenSakura-Maelstrom-12B-v1 B:\12B\KrakenSakura-Maelstrom-12B-v1\model-00002-of-00005.safetensors echo hf upload EldritchLabs/KrakenSakura-Maelstrom-12B-v1 B:\12B\KrakenSakura-Maelstrom-12B-v1\model-00003-of-00005.safetensors echo hf upload EldritchLabs/KrakenSakura-Maelstrom-12B-v1 B:\12B\KrakenSakura-Maelstrom-12B-v1\model-00004-of-00005.safetensors echo hf upload EldritchLabs/KrakenSakura-Maelstrom-12B-v1 B:\12B\KrakenSakura-Maelstrom-12B-v1\model-00005-of-00005.safetensors echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelström-12B-v1-Q2_K.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelström-12B-v1-Q3_K_M.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelström-12B-v1-Q4_K_M.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelström-12B-v1-Q5_K_M.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelström-12B-v1-Q6_K.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelström-12B-v1-Q8_0.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ4_NL.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ4_XS.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ3_M.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ3_S.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ3_XS.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ3_XXS.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ2_M.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ2_S.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ2_XS.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ2_XXS.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ1_M.gguf echo hf upload Naphula/KrakenSakura-Maelstrom-12B-v1-GGUF B:\12B\KrakenSakura-Maelstrom-12B-v1\KrakenSakura-Maelstrom-12B-v1-IQ1_S.gguf echo echo All uploads finished or script was terminated. ) > temp_upload_commands.bat :: Start the upload script in a NEW, SEPARATE command window with a specific title. :: We DO NOT use /WAIT here. This is the key change. start "%UPLOAD_WINDOW_TITLE%" cmd /c temp_upload_commands.bat echo Upload process has been started in a separate window. echo This script will now wait for %RESTART_INTERVAL% seconds before force-killing it. echo Press Ctrl+C in THIS window to stop the auto-restart loop. :: Wait for the specified interval. timeout /t %RESTART_INTERVAL% /nobreak echo. echo [%time%] Time is up! Forcefully terminating the upload process. :: Kill the process using the unique window title. :: /F = Force kill :: /T = Kill child processes as well (very important!) taskkill /FI "WINDOWTITLE eq %UPLOAD_WINDOW_TITLE%" /F /T >nul 2>&1 echo Upload process terminated. Restarting the loop... del temp_upload_commands.bat goto main_loop