いろんなやり方があるんだろうけど、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% です