□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ Community script building blocks - macros - chunks □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ Nothing spectacular but will continue adding stuff - Choice menu - Spoiler Code: @ECHO OFF ECHO =============== ECHO WELCOME TO MENU ECHO =============== ECHO (1)CHOICE 1 ECHO (2)CHOICE 2 ECHO (3)CHOICE 3 ECHO (A)CHOICE A ECHO (B)CHOICE B ECHO (C)CHOICE C ECHO (Q)uit ECHO =============== ECHO What'll it be? SET /P "SELECT=$>>" FOR %%$ in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (CALL SET "SELECT=%%SELECT:%%$=%%$%%") IF "%SELECT%"=="1" GOTO :MENU_OPTION_1 IF "%SELECT%"=="2" GOTO :MENU_OPTION_2 IF "%SELECT%"=="3" GOTO :MENU_OPTION_3 IF "%SELECT%"=="A" GOTO :MENU_OPTION_A IF "%SELECT%"=="B" GOTO :MENU_OPTION_B IF "%SELECT%"=="C" GOTO :MENU_OPTION_C IF "%SELECT%"=="Q" GOTO :END GOTO :END :MENU_OPTION_1 ECHO - MENU OPTION 1 - GOTO :END :MENU_OPTION_2 ECHO - MENU OPTION 2 - GOTO :END :MENU_OPTION_3 ECHO - MENU OPTION 3 - GOTO :END :MENU_OPTION_A ECHO - MENU OPTION A - GOTO :END :MENU_OPTION_B ECHO - MENU OPTION B - GOTO :END :MENU_OPTION_C ECHO - MENU OPTION C - GOTO :END :END PAUSE - Counter menu - Spoiler Code: SET NUMBER=0 SET CALC=ADD :START @ECHO OFF ECHO =============== ECHO Mode(+/-)[%CALC%] ECHO =============== ECHO CUR[%NUMBER%] ECHO =============== ECHO Enter a number SET /P "SELECT=#>>" IF "%SELECT%"=="+" SET CALC=ADD IF "%SELECT%"=="-" SET CALC=SUB IF "%CALC%"=="ADD" SET /A NUMBER+=%SELECT% IF "%CALC%"=="SUB" SET /A NUMBER-=%SELECT% IF NOT "%SELECT%"=="" GOTO :START :END PAUSE - Menu select any case - Spoiler Code: @ECHO OFF SET /P "SELECT=$>>" ECHO %SELECT% PAUSE - Menu select lower case - Spoiler Code: @ECHO OFF SET /P "SELECT=$>>" FOR %%$ in (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO (CALL SET "SELECT=%%SELECT:%%$=%%$%%") ECHO %SELECT% PAUSE - Menu select upper case - Spoiler Code: @ECHO OFF SET /P "SELECT=$>>" FOR %%$ in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (CALL SET "SELECT=%%SELECT:%%$=%%$%%") ECHO %SELECT% PAUSE - Custom prompt menu select any case - Spoiler Code: @ECHO OFF SET CUSTOM=CUSTOM SET /P "SELECT=%CUSTOM%>>" ECHO %SELECT% PAUSE - Custom prompt menu select lower case - Spoiler Code: @ECHO OFF SET CUSTOM=CUSTOM SET /P "SELECT=%CUSTOM%>>" FOR %%$ in (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO (CALL SET "SELECT=%%SELECT:%%$=%%$%%") ECHO %SELECT% PAUSE - Custom prompt menu select upper case - Spoiler Code: @ECHO OFF SET CUSTOM=CUSTOM SET /P "SELECT=%CUSTOM%>>" FOR %%$ in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (CALL SET "SELECT=%%SELECT:%%$=%%$%%") ECHO %SELECT% PAUSE - Custom reg query + set (configured to switch console setting) - Spoiler Code: SET REG_SEEK=0X1 SET REG_KEY=HKCU\Console SET REG_VAL=ForceV2 SET REG_TYPE=REG_DWORD SET REG_DAT=0 FOR /F "TOKENS=3" %%a in ('REG QUERY "%REG_KEY%" /v "%REG_VAL%" ^| findstr /r "%REG_VAL%"') do (IF "%%a"=="%REG_SEEK%" REG ADD "%REG_KEY%" /v "%REG_VAL%" /t "%REG_TYPE%" /d "%REG_DAT%" /f) - Find character in a string of text - Spoiler Code: @ECHO OFF SET FIND_CHAR=X SET INPUT=STRING OF TEXT FOR /F "DELIMS=" %%$ IN ('CMD.EXE /D /U /C ECHO %INPUT%^| FIND /V ""') do (IF "%%$"=="%FIND_CHAR%" CALL SET "FOUND_CHAR=FOUND") ECHO %FOUND_CHAR% PAUSE - List related - Spoiler Code: TBD - BCD related - Spoiler Code: TBD - DISM related - Spoiler Code: TBD - REG related - Spoiler Code: TBD
Architecture Check: Code: if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (set arch=x64) else (if "%PROCESSOR_ARCHITEW6432%"=="AMD64" (set arch=x64) else (set arch=x86)) if "%arch%" == "x64" (goto :x64) if "%arch%" == "x86" (goto :x86) :x64 (some commands) goto :END :x86 (some commands) goto :END :END Delay with an empty line between: Code: echo Starting in 10 seconds... && echo. && ping 127.0.0.1 -n 10 >nul
Stupid things about Regex Spoiler: Demo Codes Code: Regex ~ Powershell Any number match between 1-99 "^([1-9]|[1-9][0-9])$" @("1","22","1a","12c") | % { Write-host $_,'IS Match ?', @([regex]::Match($_,"^([1-9]|[1-9][0-9])$")).Success } Regex ~ Findstr Any number match between 1-99 ^[1-9]$ ^[1-9][0-9]$ for %$ in (1,11,1a,23b) do (^ echo %$|(>nul findstr /r "^[1-9]$ ^[1-9][0-9]$") && echo %$ is Match || echo %$ is Not Match) Powershell Regex ... Any number between 0-99 Code: ^([1-9]|([1-9][0-9]))$ Findstr Command regex Code: ^[1-9]$ ^[1-9][0-9]$ we can continue with that rule of Space to add more regex check it can be [1-9], [10-99], [?:\] Code: "^[1-9]$ ^[1-9][0-9]$ ^[a-z]:\\$"