Windows 如何打开和编辑.lnk文件 |
您所在的位置:网站首页 › php后缀文件手机怎么打开 › Windows 如何打开和编辑.lnk文件 |
文章目录
一、背景
二、查看/修改`.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 总结:方案1,输出文件内容是乱码,基本没法看,更别说修改了。。。不可取 方案2:更改.lnk文件后缀为.txt再查看因为多数人电脑上.lnk后缀不显示,所以重命名改后缀的方式不太可行, 这里推荐使用cp命令复制.lnk文件,新文件使用.txt后缀,示例: C:\Users\cyinl>copy Desktop\cmd.lnk cmd_content2.txt 已复制 1 个文件。
注意:不要用 文件>打开 的方式打开,而是直接把.lnk文件拖到记事本或NodePad++窗口 总结:方案3,查看到的内容也是乱码,不可取 方案4:使用HxD hex editor十六进制编辑器HxD官网下载地址:HxD hex editor HxD 下载安装完成后,通过拖拽或文件>打开方式,打开.lnk文件 在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, |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |