变量名(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)
- 保存为 AddNircmdToSystemPathxi.bat:
@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)
- 保存为 AddNircmdToSystemPath.bat:
@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。
-
重新打开 CMD,输入:
-
nircmd
如果看到帮助信息,就说明成功了 ✅
=========================================================
Chocolatey的安装
-
什么是 Chocolatey
-
Chocolatey 是 Windows 下的包管理器,类似 Linux 的 apt 或 yum。
-
支持 全局安装软件,并且自动把可执行程序加入系统环境变量,非常方便。
安装方法
打开 管理员权限的 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