質問: PythonでWindowsのショートカットを作成することはできるのでしょうか。 windows 10 Pro, Python3.7です。 `C:\Users\username\Desktop\` に `C:\Users\username\Downloads\` へのショートカットを作成したいと考えていますが、検索しても調べ方が悪いのかそれらしいものが引っかかりません。 .batでも.vbsをかませる必要があり、ショートカット作成は難しいものなのかと思っております。 詳しい方、よろしくお願いいたします。 **追記** saitokさんの回答だと、python3で`pip install mklnk`でインストールできなかったのですが、ご本人に別質問で補足を頂き、解決したので貼っておきます。 pipでmklnkがインストールできない
回答: mklnkが利用できないとのことで、comtypesでWSHを呼び出す方法で作ってみました。 ``` pip install comtypes ``` で、あらかじめライブラリをインストールしておいてください。 あまりきれいではないですが、ショートカットを作成するサンプルを作ってみました。 ソースコード内にもコメントで書いていますが、ショートカット作成時に指定したい情報がある場合は、適宜コメントを解除して指定してください。 ``` import comtypes.client import os #リンク先のファイル名 target_file=os.path.join(os.path.dirname(__file__), "test.exe") #ショートカットを作成するパス save_path=os.path.join(os.path.dirname(__file__),"test.lnk") #WSHを生成 wsh=comtypes.client.CreateObject("wScript.Shell",dynamic=True) #ショートカットの作成先を指定して、ショートカットファイルを開く。作成先のファイルが存在しない場合は、自動作成される。 short=wsh.CreateShortcut(save_path) #以下、ショートカットにリンク先やコメントといった情報を指定する。 #リンク先を指定 short.TargetPath=target_file #コメントを指定する short.Description="テストショートカット" #引数を指定したい場合は、下記のコメントを解除して、引数を指定する。 #short.arguments="/param1" #アイコンを指定したい場合は、下記のコメントを解除してアイコンのパスを指定する。 #short.IconLocation="C:\\test\\test.ico" #作業ディレクトリを指定したい場合は、下記のコメントを解除してディレクトリのパスを指定する。 #short.workingDirectory="c:\\test\\" #ショートカットファイルを作成する short.Save() ``` 以上、参考になれば幸いです。