Изменение ярлыков Windows с помощью Python

Как изменить ярлык Windows с помощью Python?

например, из:

H:\My Music\some_file.mp3 

чтобы:

 D:\Users\Myself\My Music\some_file.mp3 

4 Solutions collect form web for “Изменение ярлыков Windows с помощью Python”

Вот еще один, более подходящий способ сделать это в Python с помощью библиотеки Winshell: использование Python для создания ярлыков Windows . В вашем случае код будет выглядеть так:

 import os, winshell from win32com.client import Dispatch desktop = winshell.desktop() path = os.path.join(desktop, "some_file.mp3.lnk") target = r"D:\Users\Myself\My Music\some_file.mp3" wDir = r"D:\Users\Myself\My Music" icon = r"D:\Users\Myself\My Music\some_file.mp3" shell = Dispatch('WScript.Shell') shortcut = shell.CreateShortCut(path) shortcut.Targetpath = target shortcut.WorkingDirectory = wDir shortcut.IconLocation = icon shortcut.save() 

Существующий ярлык следует удалить или переписать. Если вам это нужно для пакетной обработки ярлыков, то я думаю, что есть способ прочитать пути из существующих ярлыков, но не удалось найти его.

Решение Джонатана отлично работает. Это полезная функция, которую я создал, реализуя это. Просто передайте имя файла ярлыка (например, «Mozilla Firefox.lnk», нет необходимости указывать весь путь к файлу) и нового назначения ярлыка, и он будет изменен.

 import os, sys import pythoncom from win32com.shell import shell, shellcon def short_target(filename,dest): shortcut = pythoncom.CoCreateInstance ( shell.CLSID_ShellLink, None, pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IShellLink ) desktop_path = shell.SHGetFolderPath (0, shellcon.CSIDL_DESKTOP, 0, 0) shortcut_path = os.path.join (desktop_path, filename) persist_file = shortcut.QueryInterface (pythoncom.IID_IPersistFile) persist_file.Load (shortcut_path) shortcut.SetPath(dest) mydocs_path = shell.SHGetFolderPath (0, shellcon.CSIDL_PERSONAL, 0, 0) shortcut.SetWorkingDirectory (mydocs_path) persist_file.Save (shortcut_path, 0) 

Единственная зависимость – это библиотека pywin32. Также обратите внимание, что каждый может указать параметры и аргументы в своем назначении для быстрого доступа. Чтобы реализовать, просто позвоните:

 short_target("shortcut test.lnk",'C:\\') #note that the file path must use double backslashes rather than single ones. This is because backslashes are used for special characters in python (\n=enter, etc) so a string must contain two backslashes for it to be registered as one backslash character. 

В этом примере назначается ярлык на рабочем столе под названием «ярлык» для ярлыка, который открывает файловый менеджер в корневом каталоге жесткого диска (C :).

Вот как вы можете создать ярлык с помощью хоста сценариев Windows: http://msdn.microsoft.com/en-us/library/fywyxt64

Попробуйте записать его в файл из Python и запустить его динамически.

Здесь подробно описан другой метод

Используйте пример обновления ярлыка. Вы можете shortcut.GetPath() , изменить его, а затем использовать метод shortcut.SetPath() для его установки.

Python - лучший язык программирования в мире.