-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprops.bat
More file actions
103 lines (74 loc) · 1.74 KB
/
props.bat
File metadata and controls
103 lines (74 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
@echo OFF
set "PWD=%cd%" && for %%F in (%0) do set BASEDIR=%%~dpF
cd %BASEDIR%
call .\env-vars
goto :main
:__usage_page
echo Show the environment variables defined in the 'env-vars' file.
echo:
for %%F in (%0) do set BASENAME=%%~nF
echo Usage: %BASENAME% [^<option^>]*
echo Option:
echo -h: Displays this help message
goto :back
:main
if /i "%~1"=="-h" goto :__usage_page
setlocal enableDelayedExpansion
if not "%~1"=="" goto :getvalue
goto :props
:getvalue
call .\.win\eval set "_prop_value=%%%~1%%"
echo | set /p=!_prop_value!
goto :eof
:props
set /a _var_idx=1
for /f "tokens=*" %%l in (%ENV_VARS_FILE%) do (
echo %%l | findstr /R "^set.*" >nul
if !errorlevel! equ 0 (
for /F "tokens=1 delims=\=" %%j in ("%%l") do (
set "_line=%%j"
set _line=!_line:"=!
call :getvar "!_line!" _var
set "_vars[!_var_idx!]=!_var!"
set /a _var_idx+=1
)
)
)
set /a _loaded_var_count=%_var_idx%-1
echo Select an environment variable:
for /L %%i in (1,1,%_loaded_var_count%) do (
echo %%i^) !_vars[%%i]!
)
set "_prop_index="
set /P _prop_index="env-index> "
if "%_prop_index%"=="" (
echo Invalid environment variable index
echo [Process stopped]: %0
goto :back
)
set "_prop_name=!_vars[%_prop_index%]!"
if "%_prop_name%"=="" (
echo Invalid environment variable index
echo [Process stopped]: %0
goto :back
)
echo:
call .\win\eval set "_prop_value=%%%_prop_name%%%"
if "!_prop_value!"=="" (
echo !_prop_name!=^<empty^>
) else (
echo !_prop_name!=!_prop_value!
)
echo !_prop_value! | clip
echo Copied^^!^^!
goto :completed
:getvar
for %%A in (%~1) do set %~2=%%A
goto :eof
endlocal
:completed
echo:
echo [Completed]: %0
goto :back
:back
cd /d %PWD%