Как заставить питон создать ярлык на рабочий стол?
Ребят есть код, который кидает файл в папку документы, хочу сделать кнопку которая создаст ярлык на рабочий стол
from tkinter import *
tk= Tk()
tk.title("программа")
tk.geometry("1280x900")
bl = Button(tk. text = создать ярлык, command = s1)
bl = Button(tk. text = переместить, command = s2)
def s2():
import shutil
shutil.copyfile('DLL_files\\usb\\PCTEST\\OCCT.exe','C:\\Users\\Public\\Documents\\OCCT.exe')
def s1():
import os
os.symlink("C:\\Users\\Public\\Documents\\OCCT.exe", "a\\occt.lnk")
Код ошибки OSError: [WinError 1314] Клиент не обладает требуемыми правами: 'C:\Users\Public\Documents\OCCT.exe' -> 'a\occt.lnk' или Не достаточно прав.
Ответы (2 шт):
Автор решения: Nikson Twixson
→ Ссылка
Для symlink нужны права администратора, лучше попробуй это:
import os
import winshell
from win32com.client import Dispatch
def create_shortcut(file_name: str, target: str, work_dir: str,
arguments: str = ''):
shell = Dispatch('WScript.Shell')
shortcut = shell.CreateShortCut(file_name)
shortcut.TargetPath = target
shortcut.Arguments = arguments
shortcut.WorkingDirectory = work_dir
shortcut.save()
desktop = winshell.desktop()
path = os.path.join(desktop, "Название ярлыка.lnk")
target = r"Путь к папке файла запуска программы"
wDir = r"Путь к папке программы"
icon = r"Путь к иконке для ярлыка"
shell = Dispatch('WScript.Shell')
shortcut = shell.CreateShortCut(path)
shortcut.Targetpath = target
shortcut.WorkingDirectory = wDir
shortcut.IconLocation = icon
shortcut.save()
Автор решения: Ste3pze
→ Ссылка
Для облегчения себе жизни используйте стороной модуль pyshortcuts
Пример кода
from pyshortcuts import make_shortcut
make_shortcut('/home/user/bin/myapp.py', name='MyApp', icon='/home/user/icons/myicon.ico')
Советую ознакомиться с этим -> Тык
И подобным вопросом на StackOverflow, ответ на него дали -> Тык
И вот ещё отличная статья на эту тему -> Тык