バッチファイルでデスクトップやマイピクチャのパスを使いたい(python使用)

いろんなやり方があるんだろうけど、python を使う。


まず python の win32com モジュールをインストール。

pip install win32com


pythonスクリプトを作成。(shell_vars.py)

from win32com.shell import shell, shellcon

print('DESKTOP=' +  shell.SHGetFolderPath(0, shellcon.CSIDL_DESKTOP, None, 0))
print('MYPICTURES=' +  shell.SHGetFolderPath(0, shellcon.CSIDL_MYPICTURES, None, 0))
# 以下必要に応じて追加

shellcon.CSIDL_ から始まるその他の定数。


バッチファイルでの使い方。(hoge.bat)

@REM 環境変数を設定
FOR /f "usebackq tokens=1,2 delims==" %%A IN (`python shell_vars.py`) DO SET %%A=%%B
@REM 設定した環境変数を使う
ECHO デスクトップは %DESKTOP% です