Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PATH 环境变量监控工具

auto-environment-variables

Check if the environment variables have changed since the last time when starting up and save a log 开机时检测环境变量对比上一次是否变化进行日志保存

每次开机登录时自动检测 Windows 用户 PATH 和系统 PATH 是否发生变化,仅在变化时保存完整快照备份,方便追踪和恢复。

快速开始

方式一:使用 EXE 安装程序(推荐)

  1. 下载 release\PathEnvMonitor_Setup.exe
  2. 双击运行,选择安装目录
  3. 点击「安装」→ 完成
  4. 下次开机自动开始监控

方式二:使用 PowerShell 脚本

# 右键以管理员身份运行 PowerShell,执行:
powershell -File "release\PathEnvMonitor_Setup.ps1"

安装后目录结构

<安装目录>\
  Save-PathEnv.ps1                  # PATH 监控核心脚本
  Setup-PathMonitorTask.ps1         # 计划任务注册脚本
  Uninstall-PathMonitor.ps1         # 卸载脚本
  PATH监控工具_说明书.txt            # 详细中文使用说明书
  path_backups\                     # 备份目录
    latest.hash                     # SHA-256 哈希值
    log.txt                         # 运行日志
    PATH_backup_YYYYMMDD_HHMMSS.txt # PATH 快照备份

工作原理

  1. 用户登录 Windows → 计划任务延迟 30 秒触发 Save-PathEnv.ps1
  2. 从注册表读取用户 PATH 和系统 PATH 的原始值
  3. 计算 SHA-256 哈希,与 latest.hash 比对
  4. 哈希不同 → PATH 已变化,保存完整快照到 path_backups\
  5. 哈希相同 → 跳过备份,仅记录日志
  6. 自动清理 90 天前的旧备份

手动命令

# 手动运行一次检测
powershell -File "<安装目录>\Save-PathEnv.ps1"

# 查看计划任务
Get-ScheduledTask -TaskName "PathEnvMonitor"

# 禁用监控
Disable-ScheduledTask -TaskName "PathEnvMonitor"

# 启用监控
Enable-ScheduledTask -TaskName "PathEnvMonitor"

# 卸载
powershell -File "<安装目录>\Uninstall-PathMonitor.ps1"

从源码构建

# 仅生成合并后的 PS1 脚本
powershell -File Build-Installer.ps1 -ScriptOnly

# 完整构建(生成 EXE,需要 .NET Framework SDK)
powershell -File Build-Installer.ps1

构建需要 csc.exe(.NET Framework 4.x 自带,位于 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\)。

项目文件

文件 说明
Save-PathEnv.ps1 核心监控脚本(支持安装目录参数)
Setup-PathMonitorTask.ps1 计划任务注册脚本
Installer-GUI.ps1 图形化安装程序模板
Build-Installer.ps1 构建脚本(生成 EXE)
Uninstall-PathMonitor.ps1 卸载脚本
release\ 构建输出目录
path_backups\ 开发环境备份目录

注意事项

  • 安装需要管理员权限(用于注册计划任务)
  • 建议安装到本地固定磁盘,不要安装到网络驱动器或 U 盘
  • 脚本仅读取和备份环境变量,不会修改系统配置
  • 备份文件为 UTF-8 纯文本,可用记事本查看

About

Auto-compare and save environment variables

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages