From f2ec359a68fe40e3016ccc69041989f439f98a00 Mon Sep 17 00:00:00 2001 From: TheRazerMD <78263903+TheRazerMD@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:26:49 +0200 Subject: [PATCH] Added Streamlined Fetcher BAT --- Streamlined_fetcher_windows.bat | 130 ++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 Streamlined_fetcher_windows.bat diff --git a/Streamlined_fetcher_windows.bat b/Streamlined_fetcher_windows.bat new file mode 100644 index 00000000..48f4055b --- /dev/null +++ b/Streamlined_fetcher_windows.bat @@ -0,0 +1,130 @@ +@echo off +setlocal enabledelayedexpansion + +REM Config +set "REPO=NVIDIA-RTX/Streamline" +set "DEST=%~dp0streamline" +set "WORKDIR=%TEMP%\streamline_dl_%RANDOM%" +set "ZIPFILE=%WORKDIR%\release.zip" +set "EXTRACTDIR=%WORKDIR%\extracted" + +echo ========================== +echo Streamline files fetcher +echo ========================== +echo v1.0 +echo. +echo. +echo [1] Download latest Streamline DLLs +echo. +echo [2] Delete "streamline" folder +echo. +choice /c 12 /n /m "Select an option (1 or 2): " +echo. + +if errorlevel 2 goto :removal +if errorlevel 1 goto :downloader + +:removal +echo. +if exist "%DEST%" ( + echo Deleting "streamline" folder and all its contents... + rmdir /s /q "%DEST%" + echo Done. +) else ( + echo Folder "streamline" does not exist. Nothing to delete. +) +echo. +pause +exit /b 0 + +:downloader + +mkdir "%WORKDIR%" 2>nul +mkdir "%EXTRACTDIR%" 2>nul +if not exist "%DEST%" mkdir "%DEST%" + +REM Locate the latest ZIP release +echo --- Looking up latest release info --- +echo. +powershell -NoProfile -Command ^ + "$ErrorActionPreference='Stop';" ^ + "$r = Invoke-RestMethod -Uri 'https://api.github.com/repos/%REPO%/releases/latest' -Headers @{ 'User-Agent' = 'batch-script' };" ^ + "$asset = $r.assets | Where-Object { $_.name -like '*.zip' } | Select-Object -First 1;" ^ + "if (-not $asset) { Write-Error 'No .zip asset found in latest release.'; exit 1 }" ^ + "$asset.browser_download_url | Out-File -Encoding ascii '%WORKDIR%\asset_url.txt';" ^ + "$asset.name | Out-File -Encoding ascii '%WORKDIR%\asset_name.txt';" ^ + "Write-Host ('Found asset: ' + $asset.name)" + +if not exist "%WORKDIR%\asset_url.txt" ( + echo ERROR: Could not determine the latest release asset URL. + goto :cleanup_fail +) + +set /p ASSET_URL=<"%WORKDIR%\asset_url.txt" +set /p ASSET_NAME=<"%WORKDIR%\asset_name.txt" + +if "%ASSET_URL%"=="" ( + echo ERROR: Asset URL was empty. + goto :cleanup_fail +) + +echo. +echo Download URL: %ASSET_URL% +echo. + +REM Download the ZIP +echo --- Downloading %ASSET_NAME% --- +echo. +curl -L --fail -o "%ZIPFILE%" "%ASSET_URL%" +if errorlevel 1 ( + echo ERROR: Download failed. + goto :cleanup_fail +) +echo. + +REM ZIP extraction +echo --- Extracting archive --- +powershell -NoProfile -Command "Expand-Archive -LiteralPath '%ZIPFILE%' -DestinationPath '%EXTRACTDIR%' -Force" +if errorlevel 1 ( + echo ERROR: Extraction failed. + goto :cleanup_fail +) +echo. + +REM Locate DLL files and transfer to folder +echo --- Searching for bin\x64 folders and copying .dll files --- +set FOUND=0 +for /f "delims=" %%D in ('dir /ad /b /s "%EXTRACTDIR%" ^| findstr /i "\\bin\\x64$"') do ( + set FOUND=1 + echo Found: %%D + xcopy "%%D\*.dll" "%DEST%\" /Y /Q >nul +) + +if "%FOUND%"=="0" ( + echo WARNING: No bin\x64 folder was found inside the archive. + echo The archive layout may have changed - check "%EXTRACTDIR%" manually. + goto :cleanup_fail +) + +echo. +echo Done. DLLs copied to: %DEST% +echo. +dir "%DEST%\*.dll" /b + +goto :cleanup_success + +:cleanup_fail +echo. +echo Script finished with errors. Temp files kept at: +echo %WORKDIR% +echo. +pause +exit /b 1 + +:cleanup_success +rmdir /s /q "%WORKDIR%" 2>nul +echo. +echo Temp files cleaned up. +echo. +pause +exit /b 0