我正在尝试.lnk从Python读取快捷方式()文件的目标文件/目录。有没有头痛的方法吗?该.LNK规范[PDF]是在我头上的方式。我不介意使用仅Windows API。
.lnk
我的最终目标是"(My) Videos"在Windows XP和Vista上找到该文件夹。在XP上,默认为%HOMEPATH%\My Documents\My Videos,在Vista上为%HOMEPATH%\Videos。但是,用户可以重定位此文件夹。在这种情况下,该%HOMEPATH%\Videos文件夹将不存在,并被替换为%HOMEPATH%\Videos.lnk指向新"My Videos"文件夹的文件夹。我想要它的绝对位置。
"(My) Videos"
%HOMEPATH%\My Documents\My Videos
%HOMEPATH%\Videos
%HOMEPATH%\Videos.lnk
"My Videos"
使用Python创建快捷方式(通过WSH)
import sys import win32com.client shell = win32com.client.Dispatch("WScript.Shell") shortcut = shell.CreateShortCut("t:\\test.lnk") shortcut.Targetpath = "t:\\ftemp" shortcut.save()
使用Python(通过WSH)阅读快捷方式的目标
import sys import win32com.client shell = win32com.client.Dispatch("WScript.Shell") shortcut = shell.CreateShortCut("t:\\test.lnk") print(shortcut.Targetpath)