Python – создание ярлыка с аргументами

Используя win32com.client, я пытаюсь создать простой ярлык в папке. Тем не менее, я хотел бы иметь аргументы, но я продолжаю получать следующую ошибку.

Traceback (most recent call last): File "D:/Projects/Ms/ms.py", line 153, in <module> scut.TargetPath = '"C:/python27/python.exe" "D:/Projects/Ms/msd.py" -b ' + str(loop7) File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 570, in __setattr__ raise AttributeError("Property '%s.%s' can not be set." % (self._username_, attr)) AttributeError: Property '<unknown>.TargetPath' can not be set. 

Мой код выглядит так. Я пробовал несколько разных вариантов, но, похоже, не понимаю. Что я делаю не так?

 ws = win32com.client.Dispatch("wscript.shell") scut = ws.CreateShortcut("D:/Projects/Ms/TestDir/testlink.lnk") scut.TargetPath = '"C:/python27/python.exe" "D:/Projects/Ms/msd.py" -b 0' scut.Save() 

  • win32com + Excel + Django + Apache = проблема
  • Доступ к данным в Excel - Reuter из python
  • Ошибка xlПример не определен в Python win32com
  • Не удается полностью закрыть Excel, используя win32com на Python
  • .doc в pdf с использованием python
  • iTunes API для скриптов python
  • Ошибка «Вызываемый объект отключен от своих клиентов» - автоматизировать IE 8 с помощью python и win32com
  • py2exe / pyinstaller и DispatchWithEvents
  • 2 Solutions collect form web for “Python – создание ярлыка с аргументами”

    Ваш код работает для меня без ошибок. (Windows XP 32bit, Python 2.7.5, pywin32-216).

    (Я немного изменил ваш код, потому что TargetPath должен содержать только исполняемый путь.)

     import win32com.client ws = win32com.client.Dispatch("wscript.shell") scut = ws.CreateShortcut('run_idle.lnk') scut.TargetPath = '"c:/python27/python.exe"' scut.Arguments = '-m idlelib.idle' scut.Save() 

    Я получил атрибут AttributeError, похожий на ваш, когда я попробовал следующее (назначить список свойству Arguments ).

     >>> scut.Arguments = [] Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\python27\lib\site-packages\win32com\client\dynamic.py", line 570, in __setattr__ raise AttributeError("Property '%s.%s' can not be set." % (self._username_, attr)) AttributeError: Property '<unknown>.Arguments' can not be set. 

    «..TargetPath должен содержать только [an] исполняемый путь». неверно двумя способами:

    1. Цель может также содержать аргументы исполняемого файла.

    Например, у меня есть файл [D: \ DATA \ CCMD \ Expl.CMD], основной строкой которого является START Explorer.exe "% Target%"

    Примером его использования является D: \ DATA \ CCMD \ Expl.CMD "D: \ DATA \ SYSTEM – NEW INSTALL PROGS"

    Вся эта строка является «исполняемым», о котором вы говорите.

    1. Цель не должна быть «исполняемым» вообще. Это может быть любой файл, в котором ОС может действовать, например, те типы файлов, действия по умолчанию которых исполняются с файлами в качестве аргументов, например: «My File.txt»,

    «Действие по умолчанию» для этого типа файла – это открыть его с помощью текстового редактора. Фактический запуск исполняемого файла не является явным.

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