# 关于Windows系统操作技巧


{{< progress 100 blue "该文章长期更新" >}}

# 万物皆可 win+R

在 Windows 操作系统中按下{{< kbd >}}win{{< /kbd >}}+{{< kbd >}}R{{< /kbd >}}即可调出运行

## 系统自带可运行程序

即检索系统注册表 AppPaths 目录和系统环境变量 path 中写入的程序
那么也就是是说，将我们下载的第三方软件或是 bat 脚本提前配置到环境变量就能快速访问

```
注册表AppPaths目录
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
```

### 🧰.EXE 实用小工具

```PowerShell
calc - 启动计算器
charmap - 启动字符映射表
chkdsk - Chkdsk磁盘检查
cleanmgr - 磁盘清理
clipbrd - 剪贴板查看器
cmd.exe - CMD命令提示符
dvdplay - DVD播放器
dxdiag - DirectX诊断工具
eudcedit - 造字程序（专用字符编辑程序）
explorer - 资源管理器
magnify - 放大镜
msconfig - 系统配置
mspaint - 画图板
mstsc - 远程桌面连接
narrator - 屏幕“讲述人”
notepad - 打开记事本
nslookup - IP地址侦测器
osk - 打开屏幕键盘
regedit - 注册表编辑器
sndrec32 - 录音机
sndvol32 - 音量控制程序
taskmgr - 任务管理器
winchat - XP自带局域网聊天
write - 写字板
dcomcnfg - 系统组件服务
ddeshare - DDE共享设置
nslookup - 网络管理的工具向导
ntbackup - 系统备份和还原
mobsync - 同步中心
winmsd - 系统信息
winver - 检查Windows版本
wiaacmgr - 扫描仪和照相机向导
wscript - windows脚本宿主设置
wupdmgr - windows更新程序
```

### 📟.MSC 微软管理控制台程序

```PowerShell
mmc - 管理控制台
certmgr.msc - 证书管理
ciadv.msc - 索引服务程序
comexp.msc - 组件服务
compmgmt.msc - 计算机管理
devmgmt.msc - 设备管理器
dfrg.msc - 磁盘碎片整理程序
diskmgmt.msc - 磁盘管理
eventvwr.msc - 事件查看器
fsmgmt.msc - 共享文件夹管理器
gpedit.msc - 组策略管理器（本地组策略编辑器）
lusrmgr.msc - 本机用户和组
ntmsmgr.msc - 移动存储管理器
ntmsoprq.msc - 移动存储管理员操作请求
perfmon.msc - 性能监视器
rsop.msc - 组策略结果集
secpol.msc - 本地安全策略
services.msc - 本地服务设置
wmimgmt.msc - windows管理体系结构WMI（控制台根节点\WMI控件）
```

## 插入第三方程序

1. 将.exe 程序所在路径复制
2. {{< kbd >}}右键{{< /kbd >}}此电脑 ➡️ 属性 ➡️ 高级系统设置 ➡️ 环境变量 ➡️ 系统变量
3. 找到`path`双击打开 ➡️ 新建粘贴.exe 程序所在路径
   {{< note info flat >}}
   仅适用 win10 及以上操作系统
   {{< /note >}}

## 插入.bat 脚本

如法炮制以上操作，建议将一文件夹作为容器存放各第三方软件.exe 快捷方式和.bat 脚本
以快速访问指定网站为例，在运行中输入 bat 脚本文件名即可访问本站

```bat
explorer https://home.y1xuanyun.cn/  访问网站
```

## 查询当前系统版本

Windows 系统版本分为 `零售版` `OEM版` `大批量授权（KMS/MAK）` `开发者版`
通过命令提示符键入以下内容进行查询
对应代码为 `Retail` `OEM` `VOL`

```bat
slmgr.vbs /dli
```

## python 打包 exe 程序

在源代码文件夹下直接在资源管理器目录栏键入`cmd`运行以下代码

```bat
pyinstaller -F -w -i snake.ico --add-data "circle.png;." gluttonous.py
```

# 注册表

注册表是 windows 操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”，也可以说是一个非常巨大的树状分层结构的数据库系统。
注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息，它包括了计算机的硬件配置，包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。
利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息，从而方便了管理，增强了系统的稳定性。
注册表文件的数据信息保存在 system.dat 和 user.dat 中、利用 regedit.exe 程序能够存取注册表文件

## 调出注册表

{{< kbd >}}win{{< /kbd >}}+{{< kbd >}}R{{< /kbd >}}调出运行窗口
➡️ 输入`regedit`运行程序

{{< note danger flat >}}
注意：修改注册表为高危险操作，建议充分学习后慎重考虑！
{{< /note >}}

## 问题一：删除程序系统应用列表依然存在

通常未按应用卸载程序或系统应用列表界面卸载程序以及移动程序文件夹导致
例如：进入程序目标文件夹直接进行移动/删除文件操作等

### 表现

在系统应用列表卸载该程序将提示`未找到卸载程序`，且该记录无法删除

### 分析

该提示表明原程序所在目标文件夹中没有找到对应卸载程序

1. 程序所在文件被移动，注册表键值路径信息未更新
2. 程序未正常卸载，导致注册表信息未擦除，且 C 盘中仍存有用户信息文件

### 解决

调出注册表 ➡️ 输入以下路径 ➡️ 转入系统应用列表信息源 ➡️ 找到对应程序文件夹 ➡️ 删除
{{< note info flat >}}
部分文件名为 16 进制字符串，在右侧可查看“名称”“类型”“数值”。
{{< /note >}}

```
注册表系统应用列表源
\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
```

# 一劳永逸，一键无限推迟 Windows 更新

{{< kbd >}}win{{< /kbd >}}+{{< kbd >}}R{{< /kbd >}}调出运行窗口，输入以下代码并回车，即可在`设置`->`Windows更新`中设置更长的推迟时间。

```
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 10000 /f
```

# 深入理解环境变量与 PATH 配置

> 掌握环境变量配置，告别命令行报错困扰

当你在 Windows 命令提示符或 PowerShell 中输入一个命令时，是否经常遇到 **"不是内部或外部命令，也不是可运行的程序或批处理文件"** 的报错？这个令人沮丧的问题通常源于环境变量——特别是**PATH 变量**——配置不当。本文将深入解析环境变量的工作原理，并提供多种解决方案，让你彻底摆脱这类错误。

## 一、为什么会出现"不是内部命令"错误？

当你在命令行输入一个程序名（如`python`、`java`或`git`）时，Windows 会按照特定顺序查找该可执行文件：

1. 首先在当前目录查找
2. 然后在**系统变量**的 PATH 路径中顺序查找
3. 最后在**用户变量**的 PATH 路径中查找

如果所有位置都找不到匹配的可执行文件（`.exe`、`.bat`等），系统就会抛出"**不是内部或外部命令**"的错误。这通常表示：

- 程序未安装
- 程序已安装但未添加到 PATH
- PATH 路径拼写错误
- 需要重新启动终端使 PATH 更改生效

## 二、环境变量基础：系统变量 vs 用户变量

在 Windows 中，环境变量分为两大类，它们在作用范围和权限上有明显区别：

| **特性**     | **用户变量**                    | **系统变量**                                                                      |
| ------------ | ------------------------------- | --------------------------------------------------------------------------------- |
| **作用范围** | 仅对当前用户有效                | 对所有用户有效                                                                    |
| **存储位置** | `HKEY_CURRENT_USER\Environment` | `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment` |
| **修改权限** | 当前用户可修改                  | 需要管理员权限                                                                    |
| **优先级**   | 较高（覆盖同名系统变量）        | 较低                                                                              |
| **典型用途** | 用户专属工具路径、临时设置      | 系统级工具路径、公共配置                                                          |

**关键规则**：

- 环境变量**不区分大小写**（PATH 与 path 相同）
- 对于 PATH 变量，系统会**合并用户 PATH 和系统 PATH**的值
- 当同一个程序出现在系统 PATH 和用户 PATH 中时，**系统 PATH 中的版本优先执行**

## 三、深入理解 PATH 变量

PATH 是 Windows 中最关键的环境变量之一，它存储了**可执行文件的搜索路径列表**。其工作流程如下：

```mermaid
graph TD
    A[输入命令] --> B{当前目录存在？}
    B -- 是 --> C[执行程序]
    B -- 否 --> D{系统PATH中找到？}
    D -- 是 --> C
    D -- 否 --> E{用户PATH中找到？}
    E -- 是 --> C
    E -- 否 --> F[抛出"不是内部命令"错误]
```

# 系统图标库升级：从 SHELL32.dll 到 imageres.dll

探索 Windows 系统中更美观的图标资源

## 图标库的转变

Windows 系统默认图标库经历了重要转变：  
• 传统路径：`C:\WINDOWS\System32\SHELL32.dll`  
• 现代路径：`%SystemRoot%\system32\imageres.dll`  
`%SystemRoot%`是系统变量，通常指向`C:\Windows`

## 为何选择 imageres.dll？

### 视觉升级

| 特性     | SHELL32.dll | imageres.dll |
| -------- | ----------- | ------------ |
| 设计风格 | 拟物化设计  | 扁平化设计   |
| 图标数量 | 约 100+     | 300+         |
| 视觉效果 | 简单渐变    | 丰富透明效果 |
| 系统支持 | Windows XP  | Win7+最佳    |

### 核心优势

1. **精致扁平化设计**：符合现代 UI 趋势
2. **丰富图标资源**：包含计算机、回收站、文件夹等各种状态图标
3. **动态状态感知**：如回收站满/空状态图标
4. **高分辨率支持**：适应 4K 等高清显示屏

### 实用图标示例

imageres.dll 包含众多精美图标：  
• **系统核心**：计算机(`-109`)、网络(`-25`)、控制面板(`-28`)  
• **回收站**：满(`-54`)、空(`-55`)  
• **设备图标**：打印机、CD/DVD、USB 设备  
• **文件夹类型**：文档、图片、音乐、视频

## 应用指南

### 更改快捷方式图标

1. 右击快捷方式 > 属性 > 快捷方式选项卡
2. 点击"更改图标"
3. 输入路径：`%SystemRoot%\system32\imageres.dll`
4. 选择心仪图标

## 注意事项

1. **安全第一**：  
   • 禁止直接替换 imageres.dll 文件  
   • 注册表修改前务必备份（`regedit > 文件 > 导出`）
2. **兼容性**：  
   • 最佳支持 Windows 7 及更新系统  
   • 旧系统可能无法正确显示新图标
3. **使用权限**：  
   • 系统图标仅限个人/学习用途  
   • 商业用途需授权

## 未来展望

微软持续推进图标设计进化：  
• 全面应用 Fluent Design 设计语言  
• 增强跨平台一致性  
• 探索动态图标效果  
• 优化色彩组合增强辨识度

> **小贴士**：通过主题配置文件(`.theme`)可统一管理所有图标效果。

# 致谢

{{< note default flat >}}
笔者水平有限，部分内容参考如下，专业详解可前往：
[Windows 注册表内容详解](https://blog.csdn.net/m0_46168848/article/details/132656958)
[Windows 批处理(bat)语法大全](https://blog.csdn.net/qq_22182989/article/details/122614610)
[office 系统图标 imagemso7345](https://blog.csdn.net/weixin_39748445/article/details/110897260)
[环境变量的用户变量与系统变量的区别](https://zhuanlan.zhihu.com/p/93719752)
{{< /note >}}

