Last active
November 5, 2022 13:04
-
-
Save SummonHIM/1cd129bcbc72e18faac2b72455967b32 to your computer and use it in GitHub Desktop.
SteamRestarter - An automate restart Steam batch script (Chinese|GBK)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @echo off | |
| :Head | |
| mode con cols=50 lines=30 | |
| set version=4.1 | |
| title 一键强制关闭 Steam 客户端 | |
| set langAppTitle= 一键强制关闭 Steam 客户端 | |
| set langUACTitle= [管理员模式] | |
| set langLine=-------------------------------------------------- | |
| for /f "tokens=2 delims=[" %%a in ('ver') do for /f "tokens=2" %%b in ("%%a") do for /f "tokens=1-2 delims=." %%c in ("%%b") do set windowsVersion=%%c | |
| if %windowsVersion% LEQ 5 ( | |
| echo Windows XP 及以下版本无法使用该脚本。 | |
| goto Quit | |
| ) | |
| IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" ( | |
| >nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system" | |
| ) ELSE ( | |
| >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" | |
| ) | |
| if "%errorlevel%" == "0" ( | |
| set UAC=1 | |
| ) | |
| if exist "%appdata%\SteamRestarter\settings.bat" ( | |
| call "%appdata%\SteamRestarter\settings.bat" | |
| goto mainMenu | |
| ) | |
| echo 首次启动,正在尝试查找 Steam 客户端位置… | |
| if "%PROCESSOR_ARCHITECTURE%" EQU "AMD64" ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Valve\Steam" /v "InstallPath" ^| find /i "InstallPath"') do set steamPath=%%k\Steam.exe | |
| ) else ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam" /v "InstallPath" ^| find /i "InstallPath"') do set steamPath=%%k\Steam.exe | |
| ) | |
| if not exist "%steamPath%" ( | |
| set steamNotFoundNotice=1 | |
| goto config | |
| ) | |
| echo, | |
| echo 查询到路径:%steamPath% | |
| choice /m "该路径是否正确?" | |
| if "%ERRORLEVEL%" == "1" ( | |
| mkdir "%appdata%\SteamRestarter" | |
| echo set steamPath=%steamPath:)=^)%>"%appdata%\SteamRestarter\settings.bat" | |
| echo set steamArgs=>>"%appdata%\SteamRestarter\settings.bat" | |
| call "%appdata%\SteamRestarter\settings.bat" | |
| ) else ( | |
| goto Head | |
| ) | |
| :mainMenu | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| echo [1] 强制结束 Steam 客户端 | |
| echo, | |
| echo [2] 强制重启 Steam 客户端 | |
| echo, | |
| echo [3] 清理系统 DNS 缓存 | |
| echo, | |
| echo [4] 选项 | |
| echo, | |
| echo [5] 关于 | |
| echo, | |
| choice /c 12345 /m "请选择" | |
| set mainMenuChoice=%ERRORLEVEL% | |
| if "%mainMenuChoice%" == "3" goto cleanDNS | |
| if "%mainMenuChoice%" == "4" goto config | |
| if "%mainMenuChoice%" == "5" goto about | |
| goto taskKill | |
| :taskKill | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| taskkill /f /im Steam.exe | |
| if %ERRORLEVEL% NEQ 0 ( | |
| echo, | |
| echo 关闭 Steam 客户端失败! | |
| echo 请确认 Steam 客户端是否已启动,或尝试使用管理员打开本脚本。 | |
| echo 按任意键返回… | |
| pause>nul | |
| goto mainMenu | |
| ) | |
| if "%mainMenuChoice%" == "1" ( | |
| echo, | |
| echo 3 秒后返回主菜单… | |
| timeout /t 3 /NOBREAK >nul | |
| goto mainMenu | |
| ) | |
| if "%mainMenuChoice%" == "2" ( | |
| goto startSteam | |
| ) | |
| :startSteam | |
| echo, | |
| echo %langLine% | |
| if "%steamArgs%" == "" ( | |
| echo 正在启动位于 %steamPath:)=^)% 的 Steam 客户端。 | |
| start "" "%steamPath%" | |
| ) else ( | |
| echo 正在启动位于 %steamPath:)=^)% 的 Steam 客户端,并使用启动选项:%steamArgs% | |
| start "" "%steamPath%" %steamArgs% | |
| ) | |
| if %ERRORLEVEL% NEQ 0 ( | |
| echo, | |
| echo 启动 Steam 客户端失败! | |
| echo 请尝试使用管理员打开本脚本。 | |
| echo 按任意键返回… | |
| pause>nul | |
| goto mainMenu | |
| ) else ( | |
| echo, | |
| echo 3 秒后返回主菜单… | |
| timeout /t 3 /NOBREAK >nul | |
| goto mainMenu | |
| ) | |
| :cleanDNS | |
| echo, | |
| echo %langLine% | |
| echo 提示:使用管理员模式清理 DNS 会更有效果。 | |
| ipconfig /flushdns | |
| echo, | |
| echo 按任意键返回… | |
| pause>nul | |
| goto mainMenu | |
| :config | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| if "%steamNotFoundNotice%" == "1" ( | |
| echo 错误:未查询到 Steam 客户端位置。 | |
| echo 请尝试手动输入位置。 | |
| echo %langLine% | |
| ) | |
| echo [1] Steam 启动路径 | |
| echo ^> %steamPath% | |
| echo, | |
| echo [2] Steam 启动选项 | |
| echo ^> %steamArgs% | |
| echo, | |
| echo [3] 保存并返回 | |
| echo, | |
| echo [4] 撤销并返回 | |
| echo, | |
| choice /c 1234 /m "请选择" | |
| set configMenuChoice=%ERRORLEVEL% | |
| if "%configMenuChoice%" == "1" goto configPath | |
| if "%configMenuChoice%" == "2" goto configArgs | |
| if "%configMenuChoice%" == "3" ( | |
| mkdir "%appdata%\SteamRestarter" | |
| echo set steamPath=%steamPath:)=^)%>"%appdata%\SteamRestarter\settings.bat" | |
| if /i "%steamArgs%" == "null" ( | |
| echo set steamArgs=>>"%appdata%\SteamRestarter\settings.bat" | |
| ) else ( | |
| echo set steamArgs=%steamArgs%>>"%appdata%\SteamRestarter\settings.bat" | |
| ) | |
| set steamNotFoundNotice=0 | |
| if not exist "%steamPath%" ( | |
| set steamNotFoundNotice=1 | |
| goto config | |
| ) else ( | |
| goto Head | |
| ) | |
| ) | |
| if "%configMenuChoice%" == "4" goto Head | |
| :configPath | |
| echo, | |
| echo %langLine% | |
| choice /m "是否尝试自动获取 Steam 路径?" | |
| if "%ERRORLEVEL%" == "1" ( | |
| if "%PROCESSOR_ARCHITECTURE%" EQU "AMD64" ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Valve\Steam" /v "InstallPath" ^| find /i "InstallPath"') do set steamPath=%%k\Steam.exe | |
| ) else ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam" /v "InstallPath" ^| find /i "InstallPath"') do set steamPath=%%k\Steam.exe | |
| ) | |
| goto config | |
| ) else ( | |
| echo 请将 Steam 图标拖到此处,或直接输入路径。请不要将引号填入。 | |
| set /p steamPath=完成后按回车继续: | |
| goto config | |
| ) | |
| :configArgs | |
| echo, | |
| echo %langLine% | |
| echo 请输入 Steam 启动选项。清空则输入英文:null。 | |
| set /p steamArgs=完成后按回车继续: | |
| goto config | |
| :about | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| echo [版本号] | |
| echo V%version% | |
| echo, | |
| echo [官方网站] | |
| echo https://gist.github.com/SummonHIM/1cd129bcbc72e18faac2b72455967b32 | |
| echo, | |
| echo Copyright %date:~0,4% SummonHIM. | |
| echo, | |
| echo 按任意键返回主菜单… | |
| pause>nul | |
| goto mainMenu |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @echo off | |
| :Head | |
| mode con cols=50 lines=30 | |
| set version=4.1 | |
| title 一键强制关闭 Origin 客户端 | |
| set langAppTitle= 一键强制关闭 Origin 客户端 | |
| set langUACTitle= [管理员模式] | |
| set langLine=-------------------------------------------------- | |
| for /f "tokens=2 delims=[" %%a in ('ver') do for /f "tokens=2" %%b in ("%%a") do for /f "tokens=1-2 delims=." %%c in ("%%b") do set windowsVersion=%%c | |
| if %windowsVersion% LEQ 5 ( | |
| echo Windows XP 及以下版本无法使用该脚本。 | |
| goto Quit | |
| ) | |
| IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" ( | |
| >nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system" | |
| ) ELSE ( | |
| >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" | |
| ) | |
| if "%errorlevel%" == "0" ( | |
| set UAC=1 | |
| ) | |
| if exist "%appdata%\OriginRestarter\settings.bat" ( | |
| call "%appdata%\OriginRestarter\settings.bat" | |
| goto mainMenu | |
| ) | |
| echo 首次启动,正在尝试查找 Origin 客户端位置… | |
| if "%PROCESSOR_ARCHITECTURE%" EQU "AMD64" ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Origin" /v "ClientPath" ^| find /i "ClientPath"') do set originPath=%%k | |
| ) else ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Origin" /v "ClientPath" ^| find /i "ClientPath"') do set originPath=%%k | |
| ) | |
| if not exist "%originPath%" ( | |
| set originNotFoundNotice=1 | |
| goto config | |
| ) | |
| echo, | |
| echo 查询到路径:%originPath% | |
| choice /m "该路径是否正确?" | |
| if "%ERRORLEVEL%" == "1" ( | |
| mkdir "%appdata%\OriginRestarter" | |
| echo set originPath=%originPath:)=^)%>"%appdata%\OriginRestarter\settings.bat" | |
| echo set originArgs=>>"%appdata%\OriginRestarter\settings.bat" | |
| call "%appdata%\OriginRestarter\settings.bat" | |
| ) else ( | |
| goto Head | |
| ) | |
| :mainMenu | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| echo [1] 强制结束 Origin 客户端 | |
| echo, | |
| echo [2] 强制重启 Origin 客户端 | |
| echo, | |
| echo [3] 清理系统 DNS 缓存 | |
| echo, | |
| echo [4] 选项 | |
| echo, | |
| echo [5] 关于 | |
| echo, | |
| choice /c 12345 /m "请选择" | |
| set mainMenuChoice=%ERRORLEVEL% | |
| if "%mainMenuChoice%" == "3" goto cleanDNS | |
| if "%mainMenuChoice%" == "4" goto config | |
| if "%mainMenuChoice%" == "5" goto about | |
| goto taskKill | |
| :taskKill | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| taskkill /f /im Origin.exe | |
| if %ERRORLEVEL% NEQ 0 ( | |
| echo, | |
| echo 关闭 Origin 客户端失败! | |
| echo 请确认 Origin 客户端是否已启动,或尝试使用管理员打开本脚本。 | |
| echo 按任意键返回… | |
| pause>nul | |
| goto mainMenu | |
| ) | |
| if "%mainMenuChoice%" == "1" ( | |
| echo, | |
| echo 3 秒后返回主菜单… | |
| timeout /t 3 /NOBREAK >nul | |
| goto mainMenu | |
| ) | |
| if "%mainMenuChoice%" == "2" ( | |
| goto startOrigin | |
| ) | |
| :startOrigin | |
| echo, | |
| echo %langLine% | |
| if "%originArgs%" == "" ( | |
| echo 正在启动位于 %originPath:)=^)% 的 Origin 客户端。 | |
| start "" "%originPath%" | |
| ) else ( | |
| echo 正在启动位于 %originPath:)=^)% 的 Origin 客户端,并使用启动选项:%originArgs% | |
| start "" "%originPath%" %originArgs% | |
| ) | |
| if %ERRORLEVEL% NEQ 0 ( | |
| echo, | |
| echo 启动 Origin 客户端失败! | |
| echo 请尝试使用管理员打开本脚本。 | |
| echo 按任意键返回… | |
| pause>nul | |
| goto mainMenu | |
| ) else ( | |
| echo, | |
| echo 3 秒后返回主菜单… | |
| timeout /t 3 /NOBREAK >nul | |
| goto mainMenu | |
| ) | |
| :cleanDNS | |
| echo, | |
| echo %langLine% | |
| echo 提示:使用管理员模式清理 DNS 会更有效果。 | |
| ipconfig /flushdns | |
| echo, | |
| echo 按任意键返回… | |
| pause>nul | |
| goto mainMenu | |
| :config | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| if "%originNotFoundNotice%" == "1" ( | |
| echo 错误:未查询到 Origin 客户端位置。 | |
| echo 请尝试手动输入位置。 | |
| echo %langLine% | |
| ) | |
| echo [1] Origin 启动路径 | |
| echo ^> %originPath% | |
| echo, | |
| echo [2] Origin 启动选项 | |
| echo ^> %originArgs% | |
| echo, | |
| echo [3] 保存并返回 | |
| echo, | |
| echo [4] 撤销并返回 | |
| echo, | |
| choice /c 1234 /m "请选择" | |
| set configMenuChoice=%ERRORLEVEL% | |
| if "%configMenuChoice%" == "1" goto configPath | |
| if "%configMenuChoice%" == "2" goto configArgs | |
| if "%configMenuChoice%" == "3" ( | |
| mkdir "%appdata%\OriginRestarter" | |
| echo set originPath=%originPath:)=^)%>"%appdata%\OriginRestarter\settings.bat" | |
| if /i "%originArgs%" == "null" ( | |
| echo set originArgs=>>"%appdata%\OriginRestarter\settings.bat" | |
| ) else ( | |
| echo set originArgs=%originArgs%>>"%appdata%\OriginRestarter\settings.bat" | |
| ) | |
| set originNotFoundNotice=0 | |
| if not exist "%originPath%" ( | |
| set originNotFoundNotice=1 | |
| goto config | |
| ) else ( | |
| goto Head | |
| ) | |
| ) | |
| if "%configMenuChoice%" == "4" goto Head | |
| :configPath | |
| echo, | |
| echo %langLine% | |
| choice /m "是否尝试自动获取 Origin 路径?" | |
| if "%ERRORLEVEL%" == "1" ( | |
| if "%PROCESSOR_ARCHITECTURE%" EQU "AMD64" ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Origin" /v "ClientPath" ^| find /i "ClientPath"') do set originPath=%%k | |
| ) else ( | |
| for /f "tokens=1,2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Origin" /v "ClientPath" ^| find /i "ClientPath"') do set originPath=%%k | |
| ) | |
| goto config | |
| ) else ( | |
| echo 请将 Origin 图标拖到此处,或直接输入路径。请不要将引号填入。 | |
| set /p originPath=完成后按回车继续: | |
| goto config | |
| ) | |
| :configArgs | |
| echo, | |
| echo %langLine% | |
| echo 请输入 Origin 启动选项。清空则输入英文:null。 | |
| set /p originArgs=完成后按回车继续: | |
| goto config | |
| :about | |
| cls | |
| echo %langAppTitle% | |
| if "%UAC%" == "1" ( | |
| echo %langUACTitle% | |
| ) else ( | |
| echo, | |
| ) | |
| echo %langLine% | |
| echo [版本号] | |
| echo V%version% | |
| echo, | |
| echo [官方网站] | |
| echo https://gist.github.com/SummonHIM/1cd129bcbc72e18faac2b72455967b32 | |
| echo, | |
| echo Copyright %date:~0,4% SummonHIM. | |
| echo, | |
| echo 按任意键返回主菜单… | |
| pause>nul | |
| goto mainMenu |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment