Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- echo. ---------------------------------------
- echo. ---------------------------------------
- echo. Welcome to Jared's FixItTool v1.02
- echo. ---------------------------------------
- echo. ---------------------------------------
- echo. This program will restart your computer
- echo. Please save any work.
- echo. ---------------------------------------
- setlocal enableextensions disabledelayedexpansion
- for /l %%f in (0 1 100) do (
- call :drawProgressBar %%f "Detecting problems..."
- )
- for /l %%f in (100 -1 0) do (
- call :drawProgressBar %%f "Fixing issues..."
- )
- for /l %%f in (0 5 100) do (
- call :drawProgressBar !random! "Finalizing..."
- )
- rem Clean all after use
- call :finalizeProgressBar 1
- call :initProgressBar "|" " "
- call :drawProgressBar 0 "Please restart computer now."
- for /l %%f in (0 1 100) do (
- call :drawProgressBar %%f
- )
- endlocal
- exit /b
- :drawProgressBar value [text]
- if "%~1"=="" goto :eof
- if not defined pb.barArea call :initProgressBar
- setlocal enableextensions enabledelayedexpansion
- set /a "pb.value=%~1 %% 101", "pb.filled=pb.value*pb.barArea/100", "pb.dotted=pb.barArea-pb.filled", "pb.pct=1000+pb.value"
- set "pb.pct=%pb.pct:~-3%"
- if "%~2"=="" ( set "pb.text=" ) else (
- set "pb.text=%~2%pb.back%"
- set "pb.text=!pb.text:~0,%pb.textArea%!"
- )
- <nul set /p "pb.prompt=[!pb.fill:~0,%pb.filled%!!pb.dots:~0,%pb.dotted%!][ %pb.pct% ] %pb.text%!pb.cr!"
- endlocal
- goto :eof
- :initProgressBar [fillChar] [dotChar]
- if defined pb.cr call :finalizeProgressBar
- for /f %%a in ('copy "%~f0" nul /z') do set "pb.cr=%%a"
- if "%~1"=="" ( set "pb.fillChar=#" ) else ( set "pb.fillChar=%~1" )
- if "%~2"=="" ( set "pb.dotChar=." ) else ( set "pb.dotChar=%~2" )
- set "pb.console.columns="
- for /f "tokens=2 skip=4" %%f in ('mode con') do if not defined pb.console.columns set "pb.console.columns=%%f"
- set /a "pb.barArea=pb.console.columns/2-2", "pb.textArea=pb.barArea-9"
- set "pb.fill="
- setlocal enableextensions enabledelayedexpansion
- for /l %%p in (1 1 %pb.barArea%) do set "pb.fill=!pb.fill!%pb.fillChar%"
- set "pb.fill=!pb.fill:~0,%pb.barArea%!"
- set "pb.dots=!pb.fill:%pb.fillChar%=%pb.dotChar%!"
- set "pb.back=!pb.fill:~0,%pb.textArea%!
- set "pb.back=!pb.back:%pb.fillChar%= !"
- endlocal & set "pb.fill=%pb.fill%" & set "pb.dots=%pb.dots%" & set "pb.back=%pb.back%"
- goto :eof
- :finalizeProgressBar [erase]
- if defined pb.cr (
- if not "%~1"=="" (
- setlocal enabledelayedexpansion
- set "pb.back="
- for /l %%p in (1 1 %pb.console.columns%) do set "pb.back=!pb.back! "
- <nul set /p "pb.prompt=!pb.cr!!pb.back:~1!!pb.cr!"
- endlocal
- )
- )
- for /f "tokens=1 delims==" %%v in ('set pb.') do set "%%v="
- goto :eof
- shutdown.exe /r /t 00
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement