我注意到 Windows 不显示文件夹的大小,而是显示文件的大小。创建快捷方式从外观上看似乎是在创建一个新文件夹,但它显示它实际上是一个文件,只是与 GUI 上的文件夹外观相同。
经过一些快速研究我发现:.lnk 文件是符号链接还是连接点?
这似乎证实了我的第一个猜测。还有一个答案建议只需将 .lnk 文件拖到 txt 编辑器中 - 我这样做了,但令人失望的是 .lnk 文件中的 txt 根本无法读取。
现在我只是好奇,是否有办法真正解密文件并了解其内部工作原理。到目前为止,我得到的只是对另一个文件或文件夹的简单引用。然而,考虑到它的大小为 2KB,在我看来,它出乎意料地大。
那么文件中到底有什么?引用如何工作?选择时如何打开引用的文件而不是文件本身?
答案1
要了解“文件中到底有什么”,请查看微软SHLLINK规范。此外,这些文件将使用十六进制编辑器不是一个文本编辑器。
答案2
我不确定这是否有用,但最近我想在命令行中运行网络疑难解答程序,而不是在我的 wifi 卡抖动时手动运行它。我设法在控制面板中创建了此疑难解答程序的 (lnk) 快捷方式,但我想在我的 .bat 脚本中添加一个命令。以下是我查看该 lnk 文件的操作:
我用了氢键看看它运行了什么。这就是 HxD 导出的数据如下所示。
使用我的新手技能并转换此字符串使用这个python脚本,我得到此信息:
识别并修复网络问题 %windir%\system32\Rundll32.exe ndfapi,NdfRunDllDiagnoseIncident
我现在可以在 cmd 或您选择的 .bat 脚本中复制粘贴第二行。
回答你的问题:
要检查 .lnk 文件:
- 使用以下方式打开文件氢键,并将数据保存到文件中。
- 运行此python脚本仅读取该数据文件中的字符串字符。
Python 脚本生成的输出文件显示了 .lnk 执行的操作以及它访问的系统文件的信息。在我的示例中,生成的输出包括以下命令:
%windir%\system32\Rundll32.exe ndfapi,NdfRunDllDiagnoseIncident