mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-11 02:09:11 +08:00
a5bdecca77
The below enables Cmder Fast Init mode for `cmd.exe` sessions. This is more like the Cmder 1.3.5 init process. See issue #1821 Cmder Fast Init mode bypasses or disables the following Cmder 1.3.6+ features: * Git root and version detection. Defaults to `%cmder_root%\vendor\git-for-windows` if it exists. * Path enhance validation before path modify so `%Path%` enhancements are forced. * Recursive path add for `"%CMDER_ROOT%\bin"` * Recursive path add for `"%CMDER_USER_BIN%\bin"` if `/c [user_config_folder` is specified. * `/d` switch to enable debug output. * `/v` switch to enable debug output. Add `/f` to Cmder task as shown below t enable fast init: _Note 1: This setting is invalid in Cmder `Powershell` and `Bash` sessions~_ _Note 2: Add `/t` also to see init timer output_ ![image](https://user-images.githubusercontent.com/7318053/47957637-052e3880-df90-11e8-93ef-91e1ab696d82.png) Cuts ~2.4 seconds off of init time. ![image](https://user-images.githubusercontent.com/7318053/47957795-45db8100-df93-11e8-8ae0-551d12c4e2dc.png)
47 lines
964 B
Batchfile
47 lines
964 B
Batchfile
@echo off
|
|
|
|
call "%~dp0lib_base.cmd"
|
|
call "%%~dp0lib_console"
|
|
set lib_profile=call "%~dp0lib_profile.cmd"
|
|
|
|
if "%~1" == "/h" (
|
|
%lib_base% help "%~0"
|
|
) else if "%1" neq "" (
|
|
call :%*
|
|
)
|
|
|
|
exit /b
|
|
|
|
:run_profile_d
|
|
:::===============================================================================
|
|
:::run_profile_d - Run all scripts in the passed dir path
|
|
:::
|
|
:::include:
|
|
:::
|
|
::: call "lib_profile.cmd"
|
|
:::
|
|
:::usage:
|
|
:::
|
|
::: %lib_profile% "[dir_path]"
|
|
:::
|
|
:::required:
|
|
:::
|
|
::: [dir_path] <in> Fully qualified directory path containing init *.cmd|*.bat.
|
|
::: Example: "c:\bin"
|
|
:::
|
|
::: path <out> Sets the path env variable if required.
|
|
:::-------------------------------------------------------------------------------
|
|
|
|
if not exist "%~1" (
|
|
mkdir "%~1"
|
|
)
|
|
|
|
pushd "%~1"
|
|
for /f "usebackq" %%x in ( `dir /b *.bat *.cmd 2^>nul` ) do (
|
|
%lib_console% verbose_output "Calling '%~1\%%x'..."
|
|
call "%~1\%%x"
|
|
)
|
|
popd
|
|
exit /b
|
|
|