残念ながら、プロファイルに関連するデフォルトのパスからリダイレクトした場合、バッチスクリプトから確認できる単純な環境変数はありません。環境変数(ドキュメント化されていないものも含む)の完全なリストは、次の場所にあります。
http://ss64.com/nt/syntax-variables.html
もう1つ覚えておかなければならないのは、フォルダーリダイレクトでは、これらをネットワーク共有に移動することもできるということです。すべてを使用できる「ドライブ」である必要はありません。単にUNCパスである可能性があります。
良いニュースは、必要な情報がレジストリの次の場所にあることです。
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders \ Personal
そのUser Shell Folders
キーで移動できるフォルダーのセット全体がありますが、Windowsバッチを使用してここでマイドキュメントフォルダーを読み取るには、次のようにします。
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal
私のマシンでは、これは次の出力を生成します。これは、必要なものと、Windowsバッチスクリプトの使用状況によっては、多少役立つ場合があります。
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders
個人のREG_EXPAND_SZ C:\ Users \ joel \ Documents
vbscriptを試すこともできます。
Set wshshell = CreateObject("WScript.Shell")
Documents = wshShell.SpecialFolders("MyDocuments")
またはPowershell:
[Environment]::GetFolderPath('MyDocuments')
これは最終的にはWindowsのbashからも(実際に!)利用できるようになるかもしれませんが、一貫して正確な方法でそれを行う方法はまだわかりません。