Skip to content

Commit

Permalink
feat: 增加需要管理员权限提示
Browse files Browse the repository at this point in the history
  • Loading branch information
PowerWordTree committed Jan 7, 2024
1 parent 33c3df1 commit 30644ed
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 12 deletions.
26 changes: 16 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,41 @@
# 更新历史

## 1.0.1 / 2024-01-07

- feat: 增加需要管理员权限提示
- perf: 升级 Script 工具脚本
- docs: 规定配置文件编码

## 1.0.0 / 2023-12-30

发布 1.0.0 正式版

## 0.3.1 / 2023-12-29

- 切换回 REG.EXE 方式设置环境变量.
- 切换回 REG.EXE 方式设置环境变量

PowerShell 的设置环境变量方式存在问题, [Environment]::GetEnvironmentVariable 无法控制变量展开, [Environment]::SetEnvironmentVariable 无法控制 REG_SZ 和 REG_EXPAND_SZ 类型.

- 排除冲突的变量名.
- 排除冲突的变量名

变量名`PATH``_*``@*`, 可以设置环境变量, 但后续不可作为变量使用.

## 0.3.0 / 2023-12-28

- 支持执行顺序, 环境变量名后续可以作为变量使用.
- 支持执行顺序, 环境变量名后续可以作为变量使用

## 0.2.3 / 2023-12-26

- 增加`;`注释符.
- 修改 CONFIG 为 MAP 数据结构.
- 备份文件与配置文件顺序相同.
- 重新整理 Script 脚本调用.
- 增加`;`注释符
- 修改 CONFIG 为 MAP 数据结构
- 备份文件与配置文件顺序相同
- 重新整理 Script 脚本调用

## 0.2.0 / 2023-12-24

- 设置工作目录为配置文件所在目录.
- 改换为 Powershell 方式设置环境变量.
- 变量前加`_`, 避免`FOR /F`变量名冲突.
- 设置工作目录为配置文件所在目录
- 改换为 Powershell 方式设置环境变量
- 变量前加`_`, 避免`FOR /F`变量名冲突
- 修正特殊字符方面 Bug.

## 0.1.0 / 2023-12-22
Expand Down
15 changes: 15 additions & 0 deletions Script/Common.IsAdmin.CMD
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
::@author FB
::@version 0.1.0

::判断管理员权限
:: 返回@: TRUE,有权限; FALSE,无权限;
:: 退出码: 0,有权限; 1,无权限;

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

NET SESSION 1>NUL 2>&1
IF "%ERRORLEVEL%" == "0" (
SET "@=TRUE" & EXIT /B 0
) ELSE (
SET "@=FALSE" & EXIT /B 1
)
23 changes: 21 additions & 2 deletions WinEnv.cmd
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
::环境变量管理
::@author FB
::@version 1.0.0
::@version 1.0.1

::Script:Argument.Parser.CMD::
::Script:Common.IsAdmin.CMD::
::Script:Config.FileRead.CMD::
::Script:Config.FileWrite.CMD::
::Script:Environment.Get.CMD::
Expand Down Expand Up @@ -87,11 +88,20 @@ ECHO.
ECHO 配置文件: %_CONFIG%
IF NOT EXIST "%_CONFIG%" (
ECHO.
ECHO.***** 错误, 配置文件不存在*****
ECHO.***** 错误, 配置文件不存在! *****
SET "_EXIT_CODE=404"
GOTO :EXIT
)
CALL Config.FileRead.CMD "_CONFIG" "%%_CONFIG%%"
::检查管理员权限
IF "%_CONFIG.SCOPE%" == "MACHINE" (
CALL Common.IsAdmin.CMD || (
ECHO.
ECHO.***** 错误, 需要管理员权限! *****
SET "_EXIT_CODE=401"
GOTO :EXIT
)
)
::备份环境变量
CALL Map.New.CMD "_CONFIG_OLD"
::::展开变量
Expand Down Expand Up @@ -154,6 +164,15 @@ IF NOT EXIST "%_CONFIG_OLD%" (
GOTO :EXIT
)
CALL Config.FileRead.CMD "_CONFIG_OLD" "%%_CONFIG_OLD%%"
::检查管理员权限
IF "%_CONFIG_OLD.SCOPE%" == "MACHINE" (
CALL Common.IsAdmin.CMD || (
ECHO.
ECHO.***** 错误, 需要管理员权限! *****
SET "_EXIT_CODE=401"
GOTO :EXIT
)
)
::恢复环境变量
FOR /F "tokens=1,* usebackq delims==" %%A IN (
`CALL Map.List.CMD "_CONFIG_OLD.REPLACE" "{0}={1}"`
Expand Down

0 comments on commit 30644ed

Please sign in to comment.