Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :: Params Check :::::::::::::::::::::::
- %*
- :: If called with params, ::
- :: run those first ::
- :: ::
- :::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: USE AT YOUR OWN RISK - Provided AS IS - no warrenty, no support, no guarntee ::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: ::
- :: Alex V. | [email protected] | 08/31/2016 | Version: 1.0 ::
- :: https://pastebin.com/raw/fxj75AQ0 ::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: Default Prompt :::::::::::::::::::::
- :: Sets Default Prompt value ::
- ::
- @set "_cmdrc=$_[$D] [$T$H$H$H] [%username%@%computername%] [$p$+]$_$g$g"
- :::::::::::::::::::::::::::::::::::::::
- :: Run Check ::::::::::::::::::::::::::
- :: If cmdrc has already been run ::
- :: it will not run it again ::
- :: Default 1. If you want it to pull every time regardless, set to 0.
- ::
- @set /a "_cmdrc_init_counter+=1"
- @if "%_cmdrc_init_counter%" gtr "1" goto skip_config_pull
- :::::::::::::::::::::::::::::::::::::::
- :: Env Swap :::::::::::::::::::::::::::
- :: Making sure that your session ::
- :: is least impacted by _cmdrc ::
- ::
- @setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
- @echo off
- :: User behavior changes ::::::::::::::
- set "_pause_flag=" rem Default NOTSET. Pauses before giving completing this script
- set "_delay_flag=" rem Default NOTSET. Pauses before giving completing this script
- set "_delay_value=" rem Default 30. If it is not set, it will default to 10
- set "_cmdrc_title=%username%@%computername%" rem Default Command Prompt - %username%@%computername%. This is the base title string, other info will be appended
- :::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: ::
- :: Start of Script Functions ::
- :: Run Function with the call command ::
- :: ::
- :: Example: ::
- :: call :function_name with params "and params with quotes" ::
- :: ::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- goto end_of_script_functions
- :install_check
- goto :eof
- :install_me
- :: Install Option :::::::::::::::::::::
- :: Add Context Menu, if needed:
- REM cmd_context_menu.reg:
- REM Windows Registry Editor Version 5.00
- REM
- REM [HKEY_CLASSES_ROOT\Directory\shell\Open Normal Console here]
- REM @="Open Normal Console here"
- REM
- REM [HKEY_CLASSES_ROOT\Directory\shell\Open Normal Console here\command]
- REM @="title %1 && color 1a && cd /D %1"
- REM
- REM
- REM [HKEY_CLASSES_ROOT\Directory\shell\Open Elevated Console here]
- REM @="Open Elevated Console here"
- REM
- REM [HKEY_CLASSES_ROOT\Directory\shell\Open Elevated Console here\command]
- REM @="C:\\Windows\\System32\\elevate.exe /K \"title %1 && color 1a && cd /D %1\""
- :: reg add "HKEY_CLASSES_ROOT\Directory\shell\Open Elevated Console here" /v "@" /t
- :::::::::::::::::::::::::::::::::::::::
- goto :eof
- goto :eof
- :end_of_script_functions
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: ::
- :: End of Script Functions ::
- :: ::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: ::
- :: Start of config pull ::
- :: This should only happen once ::
- :: ::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: Checking if this script has already been run in this console session
- ::
- if not defined _cmdrc_init_counter (
- set /a "_cmdrc_init_counter+=1"
- )
- :::::::::::::::::::::::::::::::::::::::
- :: Print Bar ::::::::::::::::::::::::::
- echo/
- echo [=======] [CMDrc] [====================]
- :: Get Processor info :::::::::::::::::
- ::
- if defined PROCESSOR_ARCHITEW6432 (
- set "Proc_Mode=%PROCESSOR_ARCHITECTURE%[%PROCESSOR_ARCHITEW6432%]"
- ) else (
- set "Proc_Mode=%PROCESSOR_ARCHITECTURE%"
- )
- :::::::::::::::::::::::::::::::::::::::
- :: Network cable check ::::::::::::::::
- :: Only works in Admin Console ::
- ::
- set "_cmdrc_no_network_connection="
- if defined _cmdrc_admin (
- netsh interface show interface 2>nul | findstr "Connected" 2>&1>nul || set "_cmdrc_no_network_connection=true"
- )
- :::::::::::::::::::::::::::::::::::::::
- :: Get external IP info :::::::::::::::
- :: only if cable is connected ::
- ::
- set "ip_ex_addr_all="
- if not defined _cmdrc_no_network_connection (
- for /f "skip=1 tokens=2 delims=: " %%a in ('call nslookup myip.opendns.com. resolver1.opendns.com ^|findstr /i /C:"Address:"') do (
- set "ip_ex_addr_all=%%a"
- ) 2>&1>nul
- )
- if defined ip_ex_addr_all (
- echo External IP Addresses:
- rem for /f "delims=," %%i in ('echo %ip_ex_addr_all%') do echo %%i
- for %%i in (%ip_ex_addr_all%) do echo %%i
- echo/
- )
- if defined ip_ex_addr_all (
- set "_cmdrc_title=%_cmdrc_title% Ext IPS:[%ip_ex_addr_all: =][%]"
- )
- :::::::::::::::::::::::::::::::::::::::
- :: Get local IP info ::::::::::::::::::
- :: Defining first three IPs ::
- :: Defining all local IPs ::
- ::
- set /a count=0
- set "ip_addr="
- set "ip_lo_addr_all="
- for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr "IPv4"') do (
- set "/a count+=1"
- set "temp_ip_lo_addr=%%a"
- if "!temp_ip_lo_addr:~0,1!" == " " (
- set "temp_ip_lo_addr=!temp_ip_lo_addr:~1%!"
- )
- if "!count!" leq "3" (
- if not defined ip_addr (
- set "ip_addr=!temp_ip_lo_addr!"
- set "ip_lo_addr_all=!temp_ip_lo_addr!"
- ) else (
- set "ip_addr=!ip_addr! !temp_ip_lo_addr!"
- set "ip_lo_addr_all=!ip_lo_addr_all! !temp_ip_lo_addr!"
- )
- ) else (
- set "ip_lo_addr_all=!ip_lo_addr_all! !temp_ip_lo_addr!"
- )
- )
- :: Printing to console
- :: Adding to Title String
- if defined ip_addr (
- echo System IP Addresses:
- for %%i in (%ip_lo_addr_all%) do echo %%i
- set "_cmdrc_title=%_cmdrc_title% Local IPS:[%ip_addr: =][%]"
- )
- :::::::::::::::::::::::::::::::::::::::
- :CREATE_CONTEXT_MENUS
- if not defined _cmdrc_admin goto skip_CREATE_CONTEXT_MENUS
- :: TODO :: check registry
- :: TODO :: add if missing
- :skip_CREATE_CONTEXT_MENUS
- :: Pulling Console Encoding ::::::::::
- :: Prints the current ::
- :: console encoding type ::
- ::
- set "chcp_current="
- for /f "tokens=2 delims=:" %%c in ('chcp') do set "chcp_current=%%c"
- :: Scrubbing output
- if defined chcp_current (
- if "%chcp_current:~0,1%" == " " (
- set "chcp_current=%chcp_current:~1%"
- )
- )
- :: Printing to screen
- :: If you need to change to UTF8, use this command - chcp 65001
- ::
- :: Human readable
- if "%chcp_current%" equ "437" (
- set "_cmdrc_chcp_type=OEM - United States"
- )
- if "%chcp_current%" equ "65001" (
- set "_cmdrc_chcp_type=UTF-8"
- )
- if defined _cmdrc_chcp_type (
- echo/
- echo Console Encoding:
- echo %chcp_current% %_cmdrc_chcp_type%
- ) else (
- echo/
- echo Console Encoding:
- echo %chcp_current%
- )
- :::::::::::::::::::::::::::::::::::::::
- :: Final Title set ::::::::::::::::::::
- :: Does persist after endlocal ::
- ::
- title %_cmdrc_title%
- :::::::::::::::::::::::::::::::::::::::
- :: Print Bar ::::::::::::::::::::::::::
- echo [======================================]
- :: If you wanted to pause or have the prompt delay before
- @if defined _pause_flag @echo/ && @echo CMDrc: INFO: Paused: Press any key to continue && @pause 2>&1>nul
- @if defined _delay_flag ( if defined _delay_value ( echo CMDrc: INFO: Delay [%_delay_value%] secs && timeout /t %_delay_value% ) else ( echo CMDrc: INFO: Delay [10] secs && timeout /t 10 ) )
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: ::
- :: End of config pull ::
- :: This should only happen once ::
- :: ::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- @endlocal
- :: Double-Triple checking to make sure that the PROMPT value was set properly
- @if not defined PROMPT set "PROMPT=%_cmdrc%"
- @echo on
- :skip_config_pull
- :: Making sure that the prompt value is set
- @if not "%PROMPT:[]=%" == "%_cmdrc:[]=%" set "PROMPT=%_cmdrc%"
Advertisement