Windows实用技巧

前言

  本篇主要用来记录在 Windows 下使用命令行能做到的一些特殊技巧。

Windows 粉碎文件技巧

  有时候 Windows 下会莫名出现文件无法删除的现象,即使通过 Shift+Delete 组合键也还是无法删除,这时可能需要通过一种 “文件粉碎机” 的工具才能删除,但是为了偶尔出现的这种现象而安装一个这样的工具又略显麻烦,这时只需要新建一个 Windows 批处理文件,即新建一个 txt 文本文件,并将后缀改为 .bat 即可,文件内容输入:

1
2
DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

其中

DEL 表示删除文件,命令参数为: del /?

/F:表示强制刪除

/A:选择文件的属性

/Q:静默模式,在删除时不会弹出提示信息

RD 表示刪除目录,命令参数为: rd /?

/S:连带删除子目录下的文件

/Q:静默模式,在删除时不会弹出提示信息

  具体用法为将待删除的文件拖拽到该 .bat 文件图标上,用该 .bat 文件打开待删除的文件即可。

  但有时候即使使用上面的方法,也无法删除文件,同时还会弹出“无法删除文件,文件或目录损坏且无法读取”这样的提示,这可能是文件存储时发生错误造成的,此时需要在 Windows 命令提示符界面中输入命令 CHKDSK 盘符:/F,盘符为需要删除的文件所在的磁盘或 U 盘,比如在 D 盘,则输入命令 CHKDSK D:/F,如出现无法锁定的提示信息,则输入 Y 强制卸载该卷,等待一段时间,等磁盘扫描和修复完成后即可删除待删除的文件。

Windows 校验文件技巧

  为确保从网络上下载的文件为原文件,一般需要对其进行 hash 校验(如 SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、RIPEMD160 值等),一般随原文件一起释放的比较常见的 hash 值有 SHA1、SHA256 或 MD5 等,但是为了校验下载文件的 hash 值可能需要专门的第三方工具,但其实 Windows 、Linux 和 macOS 都自带了校验 hash 值的命令,通过这些命令可以直接对文件的 hash 值进行校验,而不需要使用额外的第三方工具,这里只介绍 Windows 的哈希值校验命令,其命令为 Get-FileHash,具体使用方法如下:

1
2
# []内为待校验的文件 和 所用的hash算法
Get-FileHash [文件路径及名称] -Algorithm [校验的Hash值类型]| Format-List

  如果觉得每次这样输入比较麻烦,可以使用参考资料[2]提供的注册表文件(.reg 后缀),双击运行,即可在鼠标右键菜单添加「文件哈希校验」,如此可以通过鼠标右键直接对文件进行 hash 校验。附其中代码如下:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\文件哈希校验]

"SubCommands"="MACTripleDES;MD5;RIPEMD160;SHA1;SHA256;SHA384;SHA512"

"MUIVerb"="文件哈希校验"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MACTripleDES]

@="MACTripleDES"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MACTripleDES\command]

@="PowerShell Get-FileHash -Algorithm MACTripleDES \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5]

@="MD5"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5\command]

@="PowerShell Get-FileHash -Algorithm MD5 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\RIPEMD160]

@="RIPEMD160"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\RIPEMD160\command]

@="PowerShell Get-FileHash -Algorithm RIPEMD160 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA1]

@="SHA1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA1\command]

@="PowerShell Get-FileHash -Algorithm SHA1 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA256]

@="SHA256"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA256\command]

@="PowerShell Get-FileHash -Algorithm SHA256 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA384]

@="SHA384"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA384\command]

@="PowerShell Get-FileHash -Algorithm SHA384 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA512]

@="SHA512"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA512\command]

@="PowerShell Get-FileHash -Algorithm SHA512 \\\"%1\\\" | format-list;“按任意键退出...”;[Console]::Readkey() | Out-Null;exit"

Windows 隐写文件技巧

  在 Windows 下可以通过 copy 命令实现简单的文件合并,即隐写,例如:将压缩文件隐写入 jpg 文件中,将 txt 文件隐写入 jpg 文件中。这样在没改后缀名的情况下,该文件是以图片形式存在,若要恢复原有隐写文件信息,则只需要将 jpg 后缀名更改为相应文件后缀名,例如:若隐写的是 rar 文件,则只需将后缀名 .jpg 改为 .rar ,再用解压缩软件打开即可,也可以直接用解压缩软件打开相应 jpg 文件;若隐写的是 txt 文件,则需要用记事本打开该文件,通过 ctrl+end 组合键让光标定位到文件最末尾,即可看到隐写的 txt 文件内容。

具体命令如下:

1
2
3
4
5
6
7
8
9
10
11
# 将 b.txt 隐写进 a.jpg 中,并输出为 c.jpg
copy/b a.jpg+b.txt c.jpg

# 将当前目录下 2.rar 隐写进 1.jpg 中,并输出为 3.jpg
copy /b ./1.jpg + ./2.rar ./3.jpg

# 将 b.txt 隐写进 a.jpg 中,并输出为 c.jpg
copy a.jpg /b + b.txt /a c.jpg

# 将 b.rar 隐写进 a.jpg 中,并输出为 c.jpg
copy a.jpg /b + b.rar c.jpg

※注:图片文件要放在前面,需要隐写的信息放在后面,不然输出的图片无法正常查看和显示

  其中参数 /b 表示以二进制格式复制、合并文件,在合成图片和压缩文件等二进制文件时必须使用该参数,不然会丢失信息,从而造成合成失败,当然合成 txt 文本文件时也可以使用该参数;参数 /a 表示以 ASCII 码格式复制、合并文件,参数 /a 只适用于 txt 文本文件合并。

  至于其它需要注意的就是:1、要合成的两个文件最好放在同一目录下,不然输入路径有点麻烦; 2、txt 文本文件前面最好空三行,这样它头部的内容就不会丢失

  输出的图片 c.jpg 和原图片 a.jpg 显示是一样的,看起来就是同一张图片,因此达到隐写的目的。

Win10 开启休眠方法

  不知道巨硬是怎么肥事,居然 Win10 中默认电源选项中没有「休眠」选项,需要手动开启。虽然睡眠和休眠有重叠的地方,但是休眠是完全关机,再次开机时会恢复原有工作状态,更多的情况是必须要关机(因为需要考虑电量情况),相反如果有充足电力的情况下,还不如使用锁定代替睡眠,从这里的需求看还不如在默认电源选项中去掉「睡眠」选项。好了,抱怨吐槽的话就说这么多了,具体开启「休眠」的方法为:只需要在命令行(需要以管理员身份打开「命令提示符」)中输入一下命令:

1
powercfg /H on

回车 执行即可在电源选项中发现「休眠」选项。

Windows 新建用户命令

  前一段时间电脑系统升级之后崩了,资源管理器损坏,没有任务栏,没有桌面,Win 键都无法使用,还好可以使用任务管理器,通过任务管理器调出 cmd,输入以下命令新建一个用户:

1
2
3
4
5
# 添加用户tmp、密码123  
net user tmp 123 /add

# 设置tmp为管理员
net localgroup administrators tmp /add

  通过 tmp 用户可以正常使用电脑,因此猜测应该是原来的用户系统配置文件(例如注册表文件,系统设置文件等等)损坏。系统损坏之后捣鼓了两天,这没办法修复了,即使新建用户也还是有些软件没法使用,还不如直接重装系统(系统出现问题果然重装系统才是最快的解决方案),还好可以新建用户以备份原有系统盘文件,不然就是真 gg 了。既然新建命令记录了,也顺便记录一下删除命令吧,删除用户 tmp 命令为:net user tmp /del

Windows 解除 U盘或移动移动硬盘被占用技巧

  Windows 在弹出 U盘或移动硬盘时,有时会出现 “该设置正在使用中,请关闭可能使用该设备的所有程序或窗口,然后重试。” 的提示,导致 弹出 USB 大容量存储设备时出现问题,无法弹出。解决该问题需要知道是那个或哪些程序占用该存储设备,然后结束该进程即可。查看存储设备占用程序 Shaun 知道的有两种方法:

  1. 通过 “Windows 日志”。Windows 每次弹窗提示都会有相应的日志,右键计算机 ==》管理 ==》事件查看器 ==》Windows日志 ==》系统,然后在窗口左侧查找其中有黄色警告的日志信息,找到来源为 Kernel-PnP 的日志,双击该日志即可看到 “进程 ID 为 XXX 的应用程序 XXX 已停止删除或弹出设备 XXX。” 之类的信息,从而知道是哪个进程占用该存储设备,停止该进程即可正常弹出。停止进程一般通过 任务管理器 ==》详细信息,找到对应的 名称 和 PID,右键 ==》结束任务即可。
  2. 通过 “资源监视器”。右键计算机 ==》管理 ==》性能,打开资源监视器。然后在 “CPU” 栏中找到 “关联的句柄”,在后面的搜索栏中输入存储设备的盘符(D: 、E: 或 F: 等 ),即可显示占用程序的 名称 和 PID,随后在任务管理器中停止该进程即可。

  ※注: 有时只有 System 进程阻止存储设备弹出,这时可以直接关机了 :),因为 System 进程是系统核心进程,不能结束,结束之后系统会崩溃,并自动关机。当然,如果是其他进程阻止,可以用上述方法正常弹出,一般阻止存储设备弹出的都是 explorer.exe,在停止该进程后,Windows 的任务栏将会消失,所以需要在任务管理器中重新运行该任务(任务管理器 ==》文件 ==》运行新任务, 输入 “explorer” 即可)。

后记

  如果以后碰到更多有意思的小技巧再继续和大家分享吧 ↖(^ω^)↗。

参考资料

[1] windows文件夹删不掉怎么办

[2] 巧在Win10右键菜单添加校验文件Hash值命令(MD5、SHA1/256等)

[3] 【命令行copy命令】将txt文档与jpg图片合并

[4] 升級Win10後,為何筆電專有的休眠選項消失了

[5] CMD命令(添加删除管理员账户)