import os
import win32com.client as client
class ShortCut:
shell = client.Dispatch("WScript.Shell")
def get(self, shortcut):
return self.shell.CreateShortCut(shortcut).Targetpath
def _create(self, filename, lnkname):
"""filename should be abspath, or there will be some strange errors"""
shortcut = self.shell.CreateShortCut(lnkname)
shortcut.TargetPath = filename
shortcut.save()
def create(self, filename, lnkname):
self._create(os.path.abspath(filename), lnkname)
def main():
s = ShortCut()
filename = os.path.abspath(".")
s.create(filename, os.path.join("test", os.path.basename(filename)+".lnk"))
print(s.get(filename+".lnk"))
if __name__ == "__main__":
main()