背景
Outlookのメール文中にファイルサーバーのリンクファイルを記載することが多いです。
現在は、該当のファイルをShiftキー+右クリックしてパスをコピーしているのですが、
貼り付け後にパスを<>で囲う必要※があり、毎日のことになると地味に面倒くさいです。
※<\\ファフィルサーバー\ディレクトリ\ファイル名>
目的
ファイルを右クリックして、フルパスを取得し、<>で囲うプログラムを作りたいと思います。
pyperclipのインストール
クリップボードにフルパスをコピーするために、pyperclipが必要になります。pyperclipは標準ではないので、事前にインストールしておきます。
$ pip install pyperclip
コード
コードはとってもシンプル。これだけでOKです。
Outlookで使用せず、単純にフルパスだけコピーしたいならelse以降はpc.copy(file_path)だけでOK。
import sys
import pyperclip as pc
if len(sys.argv) < 2:
#引数がない場合の処理。今回は何もしない。
pass
else:
#sys.argv[1]に指定ファイルのフルパスが入る。Outlookでリンクを張るために<>で囲う。
file_path = "<" + str(sys.argv[1]) + ">"
pc.copy(file_path)
batファイルの作成
pyファイルはsendtoフォルダに置いてもキックされません。
作成したFilePath.pyをキックするためにbatファイルを作ります。※PowerShellでも良いです。
python \\Pythonファイルの保存先\FilePath.py
Sendtoフォルダに保存
作成したbatファイルをsendtoフォルダに保存します。
sendtoフォルダは[Win]キーと[R]キー同時押しして、検索ボックスに「shell:sendto」と入れれば表示されます。
利用方法
ファイルを右クリック→送る→FilePath.batをクリックするとパスがクリップボードに張り付けられます。
補足:ユーザーへ配布したい場合
ユーザーに配布する場合は、EXE化したものを同じくsendtoフォルダに置いてあげればbatファイル不要で起動出来ます。