文章目录
一、背景
二、查看/修改`.lnk`文件内容
方案1:用`type命令`查看
方案2:更改`.lnk`文件后缀为`.txt`再查看
方案3:用`记事本`或`NodePad++`打开
方案4:使用`HxD hex editor`十六进制编辑器
方案5:使用第三方库查看或编辑
1. `Matmaus/LnkParse3` 库
1)`get_json()`输出解析内容(无格式化)
2)`print_lnk_file()` 输出解析内容(自带格式化)
3)`ldata.print_json()` 输出解析内容(自带格式化)
2. `strayge/pylnk`库
1)解析已有的`.lnk`文件
2)更改已有的`.lnk`文件
3)从零开始创建新的`.lnk`文件
三、总结
一、背景
在Windows系统中,快捷方式是最最常见的文件了。 (.lnk后缀的文件,后缀可能是隐藏的)
点击.lnk后缀的文件,会打开其关联的目标对象。 (目标对象可以是本地或网络程序、文件、文件夹、计算机、Internet 地址等等)
大多数人永远都不会需要打开.lnk文件进行查看或编辑它。 (注意这里说的是.lnk文件本身,而不是它链接的目标文件,当然也不是在说右键>属性查看/编辑.lnk文件属性)
我也差点成为大多数人中的一员,直到前几天我在写一个批处理时,发现命令提示符.lnk快捷方式打开的dos窗口,与cmd.exe 程序打开的dos窗口,两者窗口的属性配置竟然不一致,后者的属性配置是从注册表加载的,而前者属性配置会不会是从.lnk文件本身读取的呢? (如果你从没有修改过cmd.exe或.lnk打开的dos窗口的属性,那它们的属性配置都是默认值,都一样。这里就不细说了,感兴趣的可以看我的另一篇文章:Windows 不同方式打开的cmd/dos窗口属性配置不同)
为了探究命令提示符.lnk文件中是否存储了dos窗口属性配置信息,于是我有了想要查看.lnk文件内容的需求,接下来就我尝试多的几种方案做下总结。
二、查看/修改.lnk文件内容
(温馨提示:方案1~4 都是失败的方案,方案5 才是成功的方案,你可以直接跳到 方案5)
方案1:用type命令查看
通过type命令在DOS窗口查看.lnk文件内容 格式:type path_to_lnk_file 或者结合重定向将内容输出到.txt文件中,示例:
C:\Users\cyinl>type Desktop\cmd.lnk > cmd_content.txt
总结:方案1,输出文件内容是乱码,基本没法看,更别说修改了。。。不可取
方案2:更改.lnk文件后缀为.txt再查看
因为多数人电脑上.lnk后缀不显示,所以重命名改后缀的方式不太可行, 这里推荐使用cp命令复制.lnk文件,新文件使用.txt后缀,示例:
C:\Users\cyinl>copy Desktop\cmd.lnk cmd_content2.txt
已复制 1 个文件。
总结:方案2,查看到的内容也是乱码,不可取。(实质上跟方案1中的重定向生成的.txt文件一样)
方案3:用记事本或NodePad++打开
注意:不要用 文件>打开 的方式打开,而是直接把.lnk文件拖到记事本或NodePad++窗口 你也可以在dos窗口,使用编辑器应用程序运行.lnk文件,如使用notepad.exe程序,打开.lnk文件:
C:\Windows\System32>notepad.exe C:\users\cyinl\Desktop\cmd.lnk
总结:方案3,查看到的内容也是乱码,不可取
方案4:使用HxD hex editor十六进制编辑器
HxD官网下载地址:HxD hex editor HxD 下载安装完成后,通过拖拽或文件>打开方式,打开.lnk文件 总结:方案4,以十六进制打开lnk文件,但是转换出来的文本仍有乱码,阅读性差。虽然查看及编辑lnk文件,但是一般人真编辑不来。。。不可取
方案5:使用第三方库查看或编辑
在Python的库里我体验了几个.lnk相关的库,这里推荐两个觉得不错的。 建议可以先了解下关于.lnk二进制文件格式的有关知识: [MS-SHLLINK]: Shell Link (.LNK) Binary File Format
1. Matmaus/LnkParse3 库
GitHub仓库:Matmaus/LnkParse3
特点:
简单易用,官网文档详细;
解析lnk文件输出信息比较全,格式也漂亮;
支持cli、python package 两种使用方式;
但这个库仅解析lnk文件,不支持编辑或创建。
详细的介绍、安装和使用方式见官网 这里使用 python package 方式演示,cli命令行的方式参考官网自行体验吧。
# -*- coding:utf-8 -*-
import LnkParse3
with open("C:\\Users\cyinl\Desktop\cmd.lnk","rb") as lf:
ldata = LnkParse3.lnk_file(lf)
print(ldata.get_json()) # 获取解析数据,未格式化的json格式
ldata.print_json() # 打印输出格式化后的json数据
ldata.print_lnk_file() # 打印输出文本形式的数据,也有漂亮的格式
获取.lnk文件解析内容的方式如下:
1)get_json()输出解析内容(无格式化)
{
'header': {
'guid': '00021401-0000-0000-C000-000000000046', 'r_link_flags': 989, 'r_file_flags': 0, 'creation_time': None, 'accessed_time': None, 'modified_time': None, 'file_size': 0, 'icon_index': 0, 'windowstyle': 'SW_SHOWNORMAL', 'hotkey': 'UNSET - UNSET {0x0000}', 'r_hotkey': 0, 'link_flags': ['HasTargetIDList', 'HasName', 'HasRelativePath', 'HasWorkingDir', 'HasIconLocation', 'IsUnicode', 'ForceNoLinkInfo', 'HasExpString'], 'file_flags': []}, 'data': {
'description': '@%windir%\\system32\\shell32.dll,-22534', 'relative_path': '..\\..\\..\\WINDOWS\\system32\\cmd.exe', 'working_directory': '%HOMEDRIVE%%HOMEPATH%', 'icon_location': '%windir%\\system32\\cmd.exe'}, 'extra': {
'SPECIAL_FOLDER_LOCATION_BLOCK': {
'size': 16, 'special_folder_id': 37, 'offset': 221}, 'KNOWN_FOLDER_LOCATION_BLOCK': {
'size': 28, 'known_folder_id': '1AC14E77-02E7-4E5D-B744-2EB1AE5198B7', 'offset': 221}, 'ENVIRONMENTAL_VARIABLES_LOCATION_BLOCK': {
'size': 788, 'target_ansi': '%windir%\\system32\\cmd.exe', 'target_unicode': '%windir%\\system32\\cmd.exe'}, 'CONSOLE_PROPERTIES_BLOCK': {
'size': 204, 'fill_attributes': 15, 'popup_fill_attributes': 181, 'screen_buffer_size_x': 110, 'screen_buffer_size_y': 6000, 'window_size_x': 110
推荐链接
评论可见,查看隐藏内容
大家都在看:
如何打开拼多多红包助手?怎么解决
拼多多红包助手是拼多多平台提供的一个工具,用于帮助用户更有效地领取和使用拼多多的红包。如果你想要打开拼多多红包助手,可以按照以下步骤操作: 打开拼多多app。 在app首页,找到“我的”或者“个人中心...
ai写作助手怎么打开编辑模式
ai写作助手的编辑模式通常可以通过以下几种方式来打开: 在软件界面上找到“编辑”或“修改”按钮,点击即可进入编辑模式。 在软件界面上找到“文本编辑”或“文本修改”选项,点击即可进入编辑模式。 在软件界...
ai软件如何打开温度符号
在AI软件中打开温度符号通常需要使用特定的工具或函数。以下是一些可能的方法: 使用Python编程语言:你可以使用Python的matplotlib库来绘制温度符号。首先,你需要安装matplotli...
五笔怎么打开chatgpt
五笔输入法是一种基于汉字笔画和结构特点的输入方法,而ChatGPT是一个基于人工智能技术的聊天机器人。两者属于不同的技术范畴,因此无法通过五笔输入法直接打开ChatGPT。 如果你想使用ChatGPT...
安装openiv后gta5打开不了
这可能是由于OpenIV与GTA5的兼容性问题导致的。你可以尝试以下方法解决: 关闭所有可能影响游戏运行的程序,包括杀毒软件、防火墙等。 尝试以管理员身份运行游戏。右键点击游戏图标,选择“以管理员身份...
wps怎么打开ai写作功能
在WPS Office中,打开AI写作功能通常指的是使用WPS Writer(WPS文字)来创建和编辑文档。以下是如何在WPS Writer中打开AI写作功能的步骤: 1. 启动WPS Writer ...
打开ai格式的软件有哪些
Adobe Illustrator:一款专业的矢量图形设计软件,用于创建徽标、图标和插图。 Autodesk SketchBook:一款数字绘图软件,适用于艺术家、设计师和插画家。 Adobe Pho...
扣子ai智能体如何部署到硬件上操作
要将扣子ai智能体部署到硬件上操作,您需要遵循以下步骤: 准备硬件设备:确保您已经拥有所需的硬件设备,如计算机、服务器、机器人等。这些设备将用于运行扣子ai智能体。 安装操作系统:在您的硬件设备上安装...
如何利用deepseek生成视频做自媒体
deepseek是一个强大的视频编辑工具,它允许用户在视频中添加各种效果和特效。如果你正在寻找如何使用deepseek来制作自媒体视频的方法,以下是一些步骤和技巧: 了解deepseek的功能: 研究...
deepseek如何免费下载使用应用
DeepSeek是一款由Google推出的开源深度学习框架,用于训练和部署神经网络模型。免费下载和使用DeepSeek应用需要遵循以下步骤: 访问DeepSeek官网: 注册账号并登录:如果您还没有D...
智能机器人技术就业方向及前景如何描述比较好分析
智能机器人技术是一个快速发展的领域,它涉及到机器人的设计、制造、编程、操作和维护等多个方面。随着人工智能和机器学习技术的不断进步,智能机器人在各个领域的应用越来越广泛,为就业市场带来了新的机遇。以下是...
如何利用deepseek持续生成小说
deepseek是一个基于深度学习的文本生成工具,它能够根据给定的主题或关键词生成小说。要利用deepseek持续生成小说,你可以按照以下步骤操作: 安装deepseek:首先,你需要在你的计算机上安...
上海爱仕达机器人待遇如何
对于上海爱仕达机器人的待遇,由于具体的薪资和福利可能会根据个人职位、工作经验和公司政策等因素有所不同,因此很难给出一个确切的答案。 一般来说,中国的制造业企业通常会提供具有竞争力的薪酬和福利,包括但不...
deepseek如何部署到本机
要将DeepSeek部署到本机,您需要按照以下步骤操作: 安装Python和pip:确保您的计算机上已安装Python和pip。您可以从Python官方网站(。 克隆DeepSeek仓库:打开命令提示...
剪映如何剪卡点
剪映是一款非常受欢迎的视频编辑软件,它提供了多种功能来帮助用户剪辑视频。要使用剪映的卡点功能,可以按照以下步骤操作: 打开剪映应用,点击“开始创作”按钮进入编辑界面。 在编辑界面中,找到并点击“添加素...
剪映电脑版如何保存视频到本地
剪映电脑版(capcut)是一款流行的视频编辑软件,用于在手机上进行视频剪辑。如果您想在电脑上使用剪映保存视频到本地,可以按照以下步骤操作: 打开剪映电脑版应用程序。 导入您想要编辑的视频文件。通常,...