变量名(N):zf5 变量值(V): 0712 变量名(N):zf6 变量值(V): @Zb8506 变量名(N):zf7 变量值(V): Zb8506 变量名(N):zf8 变量值(V): @zb8506

将以上内容添加到系统变量的bat文件AddCustomSystemVars.bat


AddCustomSystemVars.bat

@echo off
:: 必须以管理员身份运行
echo === 正在写入系统环境变量 ===

setx zf5 "0712" /M
setx zf6 "@Zb8506" /M
setx zf7 "Zb8506" /M
setx zf8 "@zb8506" /M

echo.
echo [成功] 已写入以下系统变量:
echo   zf5=0712
echo   zf6=@Zb8506
echo   zf7=Zb8506
echo   zf8=@zb8506
echo.
echo 你需要重新打开 CMD 或 PowerShell 才能使用这些变量。
pause

执行成功后,新开一个 CMD 里测试:

echo %zf5%
echo %zf6%
echo %zf7%
echo %zf8%

如果能显示对应值,就说明写入成功

============================================================

Global ClipboardLock := false                         ; 定义全局标志变量

F1 & r::
ClipboardLock := true ; 设置标志为 true,锁定剪贴板监控
clipboard := "." ; 修改剪贴板内容以迷惑监控程序

Run, "D:\ahk1.0\Lib\0 tool\9KeePass-2.52\KeePass.exe"
Sleep, 100
KeyWait, r , D       			        ; 等待释放按键
EnvGet, password, zf5             ; 获取密码(从环境变量中获取)
SendInput, %password%{Enter}                      ; 直接发送密码而不使用剪贴板

return
;ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ F1 & r Keebass.exe ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ 26-499

F1 & F6::
EnvGet, password, zf6 ; 环境变量设置后需重启电脑

	; 切换到英文输入法
	Send, {Shift} ; 根据你的设置可能需要调整,不设置会输出乱码

	; 使用 SendInput 发送密码
	SendInput, %password%{Shift}

return
;ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ F1 & F6 获取系统变量中密码 ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ 29--538

F1 & F7::
EnvGet, password, zf7 ; 环境变量设置后需重启电脑

	; 切换到英文输入法
	Send, {Shift} ; 根据你的设置可能需要调整

	; 使用 SendInput 发送密码
	SendInput, %password%{Shift}

return
;ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ F1 & F7 获取系统变量中密码 ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ 29--538

F1 & F8::
EnvGet, password, zf8 ; 环境变量设置后需重启电脑

; 切换到英文输入法
	Send, #{Shift} ; 根据你的设置可能需要调整

	; 使用 SendInput 发送密码
	SendInput, %password%{Shift}

return
;ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ F1 & F8 获取系统变量中密码 ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ 28-527

============================================================
右键 此电脑 → 属性 → 高级系统设置 → 环境变量。

在“用户变量”或“系统变量”里找到 Path → 编辑。

点击 新建,输入:

D:\ahk1.0\nircmd-x64

批处理(写入系统变量 PATH)

@echo off
setlocal

:: 获取当前 bat 文件所在目录
set "NIRDIR=%~dp0"
set "NIRDIR=%NIRDIR:~0,-1%"

:: 检查 nircmd.exe 是否存在
if not exist "%NIRDIR%\nircmd.exe" (
    echo [错误] 在 "%NIRDIR%" 未找到 nircmd.exe
    pause
    exit /b
)

:: 读取系统 PATH
for /f "tokens=2* delims= " %%A in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path 2^>nul') do set "SysPath=%%B"

:: 检查是否已经包含
echo %SysPath% | find /i "%NIRDIR%" >nul
if %errorlevel%==0 (
    echo [提示] 系统 PATH 已包含:
    echo %NIRDIR%
    pause
    exit /b
)

:: 追加到系统 PATH
setx PATH "%SysPath%;%NIRDIR%" /M
echo [成功] 已将 "%NIRDIR%" 添加到系统 PATH 环境变量(对所有用户生效)。
echo.
echo 请重新打开 CMD 或 PowerShell 窗口后再使用 nircmd。
pause

=================================================================

批处理(写入用户变量 PATH)

@echo off
setlocal

:: 获取当前 bat 文件所在目录(假设 nircmd.exe 放在同目录)
set "NIRDIR=%~dp0"
set "NIRDIR=%NIRDIR:~0,-1%"

:: 检查目录中是否有 nircmd.exe
if not exist "%NIRDIR%\nircmd.exe" (
    echo [错误] 在 "%NIRDIR%" 未找到 nircmd.exe
    pause
    exit /b
)

:: 获取当前用户 PATH
for /f "tokens=2* delims= " %%A in ('reg query HKCU\Environment /v Path 2^>nul') do set "UserPath=%%B"

:: 判断是否已包含
echo %UserPath% | find /i "%NIRDIR%" >nul
if %errorlevel%==0 (
    echo [提示] 该目录已在 PATH 中:
    echo %NIRDIR%
    pause
    exit /b
)

:: 添加到 PATH
setx Path "%UserPath%;%NIRDIR%" >nul
echo [成功] 已将 "%NIRDIR%" 添加到用户 PATH 环境变量。
echo.
echo 你需要重新打开 CMD 或 PowerShell 才能生效。
pause

=========================================================

使用方法

把 nircmd.exe 和这个 AddNircmdToPath.bat 放在同一个目录里 D:\ahk1.0\nircmd-x64。

右键 → 以管理员身份运行 AddNircmdToPathxi.bat。

如果看到帮助信息,就说明成功了 ✅

=========================================================

Chocolatey的安装

安装方法

打开 管理员权限的 PowerShell,执行:

Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

安装完成后,在新开 CMD 或 PowerShell 输入:

choco -v

显示版本号,说明安装成功。

PS C:\WINDOWS\system32> choco -v
2.5.0

==================================================================
当你用 setx 写入变量后:

只是 打开一个新的 CMD 或 PowerShell 窗口,系统会自动重新加载环境变量;

不需要额外运行什么指令。


==================================================================

如果你安装过 Chocolatey 包管理器,它自带一个 refreshenv 命令:

refreshenv

这会在当前 CMD/PowerShell 会话里重新加载环境变量,不用关窗口。


一键小工具 refreshenv.bat,随时运行就能刷新当前 CMD 的环境变量

RefreshEnv.bat

@echo off
echo === 刷新当前 CMD 的用户环境变量 ===
powershell -NoProfile -Command "Get-ChildItem Env: | ForEach-Object { Set-Item -Path Env:\$($_.Name) -Value ([System.Environment]::GetEnvironmentVariable($_.Name,'User')) }"
echo === 刷新完成 ===
pause

转载请注明出处