Windows 常见问题

拿到一台新的电脑如何查看硬盘是机械的还是固态的呢?

在 PowerShell 中使用命令: Get-PhysicalDisk, 查看其中的 Media Type 列, HDD 表示为传统机械硬盘, SSD 为固态硬盘.

PowerShell 出现 "因为在此系统中禁止执行脚本" 的解决方法

新装的系统在 Powershell 直接执行 hexo 命令的时候可能会出现这种情况: ****, 因为在此系统中禁止执行脚本. 有关详细信息, 请参阅 "get-help about_signing". 这是由于脚本的签名不符合 Windows PowerShell 的执行策略导致的, 我们要做的就是修改 Windows PowerShell 的脚本执行策略. Windows PowerShell 提供了六种执行策略: Restricted, AllSigned, RemoteSigned, Unrestricted, Bypass, Undefined.

  • Restricted: 可以执行单个的命令, 但是不能执行脚本.
  • AllSigned: 只能运行具有数字签名的脚本.
  • RemoteSigned: 当执行从网络上下载的脚本时, 需要脚本具有数字签名, 否则不会运行这个脚本. 如果是在本地创建的脚本则可以直接执行, 不要求脚本具有数字签名.
  • Unrestricted: 允许运行所有未签名的脚本. 对于从网络上下载的脚本, 在运行之前会给出安全性提示, 仅提示用, 用户依然可以选择运行.
  • Bypass: 对脚本的执行不设任何的限制, 任何脚本都可以执行, 并且不会有安全性提示.
  • Undefined: 表示没有设置脚本策略, 此时会发生继承或者应用默认的脚本策略.

如何查看当前 Windows PowerShell 的执行策略

在 Windows Power Shell 中执行 Get-executionpolicy 可以查看当前 Power Shell 的设置, 执行策略也分为了五个部分, 修改执行策略时可以使用 -Scope 参数指定具体要设置哪个 Scope.

Scope ExecutionPolicy
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined

问题解决办法

将 Windows PowerShell 的执行策略更改为 RemoteSigned, 使用管理员权限启动 Windows PowerShell, 执行

Set-ExecutionPolicy "RemoteSigned" -Scope Process

它会询问是否要更改执行策略? 键入 y 确认即可.

更多详细信息请参考博客: sparkdev

'打开方式'中残留已卸载的应用程序

注册表里面 HKEY_CLASSES_ROOT 目录中, 删除对应程序名称的文件夹即可.

文件或者程序的图标显示不正确或丢失

Win + R, 输入 %localappdata%, 删掉里面的 'IconCache.db' 文件, 重启 '资源管理器'. 注意, IconCache.db 是隐藏文件哦~

资源管理器没有启动

资源管理器没有启动, 表现为没有桌面, 没有任务栏, 这样就无法通过鼠标操作电脑, 只能通过键盘操作.

解决办法有两种:

  1. Win R, 输入 explorer, 开启资源管理器,

  2. 打开任务管理器, 新建任务, 输入 explorer, 开启资源管理器.

.chm 文件打开后无法显示内容

从网上下载的离线技术文档很多都是 .chm 后缀, 打开后不显示内容是因为文件被锁定了.

右键->属性->在「解除锁定」前面打勾->应用->确定

使用 DOS 命令合并多个 TS 流文件「.ts文件」

copy/b 待合并文件绝对目录 新文件的绝对目录路径中不能存在空格

  • 示例: copy/b E:\temps\*.ts E:\temps\new.ts

  • 执行该命令后, E:\temps 目录下的全部 TS 文件就被合并成一个 new.ts 文件了(原来的那堆 ts 文件仍然存在) .

  • 使用 copy 命令的文件合并功能进行 ts 文件的合并, copy后面的 /b 参数表示把文件按二进制格式来合并, 如果不加这个参数, 则会把目标当成文本文件来合并, 并在文件内添加不必要的标记, 这会导致播放出错, 所以必须加 /b 参数.

  • 该命令的合并顺序是按照文件的字母顺序来的, 比如文件名是disk1.ts, disk2.ts, disk3.ts, 那么该命令就会按照 disk1.ts + disk2.ts + disk3.ts 的顺序来合并这三个文件, 事实上, 绝大多数网上下载的高清文件, 都已经按字母序排列好了, 所以直接执行该命令即可.

  • 如果用合成软件来合并, 请注意软件说明, 有些软件会在合并过程中进行重编码, 可能会导致视频文件的质量下降.

U 盘在经过 Win 10 安装工具处理之后, 容量变小了

  • 以管理员运行命令窗口 (cmd, powershell, Terminal), 输入 diskpart.
  • 之后输入 list disk (可以看到磁盘 0, 磁盘 1等, 注意列出的 U 盘的编号).
  • 输入命令: sel disk # (将 # 替换为上一步所看到的 U 盘的编号).
  • 输入命令: clean (完全清除该磁盘).
  • 此时 U 盘在 Windows 电脑磁盘管理中就是一个完整且没有建分区的磁盘, 新建分区即可完全恢复.

Windows 系统中 System, System64 和 Syswow64 文件夹的区别

  • *32 位的 Windows 操作系统可以同时运行 32 位和 16 位代码, 而 64 位 Windows 操作系统可以直接运行 64 位代码, 同时通过使用 WoW64 (Windows on Windows 64) 也能运行 32 位代码.

  • 64 位系统 安装目录 分为两种.

    64 位: C:\Program Files, 放置 64 位程序.

    32 位: C:\Program Files (x86), 放置 32 位程序.

  • 32 位系统 系统目录(DLL) 分为两种

    32 位: C:\Windows\System32, 运行 32 位程序.

    16 位: C:\Windows\System, 运行 16 位程序.

  • 64 位系统 系统目录(DLL) 分为两种

    64 位: C:\Windows\System32, 运行 64 位程序.

    32 位: C:\Windows\SysWOW64, 运行 32 位程序.

  • 64 位系统注册表分为两种

    64 位: [HKEY_LOCAL_MACHINE\SOFTWARE]

    32 位: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node]

结论:

在 64 位系统中运行 32 位的DLL:

  • 应将 DLL 放在 C:\Windows\SysWOW64 目录下,

  • 写注册表应该是 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node] 下,

  • 调用的程序应该在 C:\Program Files (x86) 下,

  • 注册表中的键值应该指向的是 C:\Windows\SysWOW64 下.

如何比较两个超大的, 包含几万条数据的 Excel 文件

  1. 打开 Excel 文件, 将文件另存为 .CSV 文件.

  2. 使用第三方的文本对比软件对比即可. 推荐使用 Diffinity, 官网: Diffinity

Excel 中数字最后几位总是 0, 无法修改

  1. 出现这个问题的原因是: Excepl 对数字只保留前 15 位为有效数字, 后面的数字就只保存为 0 了.

  2. 解决方案: 在数字最前面加一个单引号: '. 如: '827389791635671528358.

  3. Excel 的单元格中, 如果第一个字符是单引号, Excel 并不会将其解释为单引号, 而是解释为特殊字符, 功能是将其后的文本强制使用字符串形式进行保存.

设置 Windows 访问不同 IP 时使用不同的网络

这个效果是通过设置 Windows 路由表实现的.

路由表查看方法

Power Shell 中使用 route print 命令可以查看路由表信息.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
IPv4 路由表
==========================================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.42.129 192.168.42.220 25
0.0.0.0 0.0.0.0 10.30.20.254 10.30.20.143 25
10.30.20.0 255.255.255.0 在链路上 10.30.20.143 281
10.30.20.143 255.255.255.255 在链路上 10.30.20.143 281
10.30.20.255 255.255.255.255 在链路上 10.30.20.143 281
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
172.16.0.0 255.255.0.0 10.30.20.254 10.30.20.143 26
192.168.42.0 255.255.255.0 在链路上 192.168.42.220 281
192.168.42.220 255.255.255.255 在链路上 192.168.42.220 281
192.168.42.255 255.255.255.255 在链路上 192.168.42.220 281
224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331
224.0.0.0 240.0.0.0 在链路上 192.168.42.220 281
224.0.0.0 240.0.0.0 在链路上 10.30.20.143 281
255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
255.255.255.255 255.255.255.255 在链路上 192.168.42.220 281
255.255.255.255 255.255.255.255 在链路上 10.30.20.143 281
==========================================================================================
永久路由:
网络地址 网络掩码 网关地址 跃点数
172.16.0.0 255.255.0.0 10.30.20.254 1
==========================================================================================

路由表的预备知识

  • 什么是默认路由规则

网络地址为 0.0.0.0 的路由规则就是默认路由规则, 默认路由规则是当其他全部的路由规则都没有匹配成功的时候生效

  • 什么是普通路由规则

有且至少有一个具体数字不为 0 的路由规则就是普通路由规则

  • 如何算匹配成功

实际网络地址路由表网络掩码 进行与运算, 如果和 路由表网络地址 相等, 则视为匹配成功

路由表的操作命令

  • route delete

用于删除路由规则, 此命令无法使用通配符, 比如: route delete 0.0.0.0route delete 192.168.0.0

  • route add

添加路由规则, 以实现效果举例:

    • 想要默认用外网访问网络, 外网的网关是 192.168.42.129, 怎么设置呢?

      1
      2
      route delete 0.0.0.0
      route add -p 0.0.0.0 mask 0.0.0.0 192.168.42.129

      想要实现类似 "默认" 这种效果, 先把所有的默认路由删除掉, 然后添加想要的默认路由规则即可

    • 有个网址必须使用内网才能访问, 内网网关是 10.30.20.254, 怎么配置呢?

      先得到网址的 IP 地址, 以 https://git.tube/dashboard/projects/starred 为例, 在 Power Shell 中直接 ping 域名即可

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      ping git.tube

      正在 Ping git.tube [172.16.11.23] 具有 32 字节的数据:
      来自 172.16.11.23 的回复: 字节=32 时间<1ms TTL=63
      来自 172.16.11.23 的回复: 字节=32 时间<1ms TTL=63
      来自 172.16.11.23 的回复: 字节=32 时间<1ms TTL=63
      来自 172.16.11.23 的回复: 字节=32 时间<1ms TTL=63

      172.16.11.23Ping 统计信息:
      数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
      往返行程的估计时间(以毫秒为单位):
      最短 = 0ms,最长 = 0ms,平均 = 0ms

      得到目标网址: 172.16.11.23, 之后添加路由规则, 为了可以访问整个域名蔟, 只进行部分限定

      1
      route add -p 172.16.0.0 mask 255.255.0.0 10.30.20.254

      [] mask 的要求是: mask 和想要访问的 IP 与运算后和网络地址必须一致

      [172.16.11.23] & [255.255.0.0] = [172.16.0.0]

桌面上的文件不能拖动

有时候桌面上的文件会变得无法拖动, 当然绝对不是设置了 "自动排列" 这种低级失误, 这时候按 2 下 ESC 键, 有奇效哦! (如果不行, 别打我, 反正我电脑可以!)

常用 Win 组合快捷键 ( Windows 10)

Win 键可以说就是 Windows 的系统按键, 所以 Win 的组合快捷键都是和 Windows 操作相关的.

  • Win Q : 打开 搜索.
  • Win W : 打开 工作区.
  • Win E : 打开 资源管理器.
  • Win R : 打开 运行.
  • Win T : 选中 任务栏上的图标, 可循环切换.
  • Win U : 打开 设置中的轻松使用设置.
  • Win I : 打开 设置.
  • Win P : 更改 投影模式.
  • Win A : 打开 桌面右下角的消息通知.
  • Win S : 打开 搜索.
  • Win D : 显示 Windows 桌面, 再次按下 Win D 返回之前的页面.
  • Win F : 打开 反馈中心.
  • Win H : 进行 Windows 语音听写, 前提是当前焦点在一个文本编辑器上, 如记事本. ( 这个功能 "超棒", 只是语音识别不准确而已, 只是支持的应用特别少而已, 只是使用语音输入后必须关闭文件重新打开之后才能正常使用键盘输入而已...嗯...就这样...)
  • Win K : 打开 连接, 检测外部显示设备.
  • Win L : 实现 快速锁屏.
  • Win ; : 打开 Windows 表情输入.
  • Win . : 打开 Windows 表情输入.
  • Win X : 打开 开始菜单图标的右键菜单.
  • Win C : 打开 小娜 Cortana. ( 在设置中开启此快捷键)
  • Win V : 打开 剪切板历史. 这个是真的好用.
  • Win B : 选中 托盘栏中的第一个图标, 不能循环切换, 只能选择第一个.
  • Win M : 最小化当前桌面中的所有窗口. 没有最小化功能的窗口无法最小化.
  • Win Table : 打开 Windows 10 时间线.

常用 Ctrl 组合快捷键

Ctrl 可能是 Control 的简写吧, 所以 Ctrl 快捷键和命令相关.

不同的应用程序会有不同的 Ctrl 组合快捷键, 而且大多数都可以进行自定义, 所以只列举常见的通用默认快捷键. 下面所有的快捷键在不同的程序中稍有区别.

  • Ctrl W : 关闭当前页面.
  • Ctrl A : 全选.
  • Ctrl B : 给字体加粗. Word 支持此快捷键.
  • Ctrl C : 复制.
  • Ctrl S : 保存.
  • Ctrl F : 查找.
  • Ctrl Z : 撤销一次操作.
  • Ctrl X : 剪切.
  • Ctrl V : 粘贴.
  • Ctrl Y : 恢复一次撤销.
  • Ctrl O : 程序内部的 "打开" 功能.
  • Ctrl N : 程序内部的 "新建" 功能.
  • Ctrl Enter : 通讯软件输入消息时换行, 不发送.

常用 Alt 组合快捷键

Alt 主要和软件的菜单相关.

  • Alt 左键双击 : 快速查看文件, 文件夹的属性.
  • Alt Table : 切换应用程序.

提高效率的技巧

  • 按下 Win R, 输入 shell:sendto, 在之后的页面中可以修改右键菜单中的「发送到」子菜单.

  • Windows 中, 在任务栏的图标上点击鼠标中键可以快速新建窗口, 在任务栏的缩略图中点击鼠标中键可以快速关闭窗口.