echo 取出注册表中“我的文档”所在位置:
for /f "skip=4 tokens=1* delims=*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal') do set doc=%%i
rem 下面两句分别根据有无系统文件夹变量取字符串,以得到正确位置,并把系统变量转成路径
set doc=%doc:~20%
if "%doc:~0,6%"=="AND_SZ" set doc=%doc:~7%
for /f "delims=*" %%i in ('call echo %doc%') do set doc=%%i
rem 下面3句去掉路径前的字符串和后面的所有空格
:intercept
if "%doc:~-1%"==" " set "doc=%doc:~0,-1%"&goto intercept
echo %doc%
for /f "skip=4 tokens=1* delims=*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal') do set doc=%%i
rem 下面两句分别根据有无系统文件夹变量取字符串,以得到正确位置,并把系统变量转成路径
set doc=%doc:~20%
if "%doc:~0,6%"=="AND_SZ" set doc=%doc:~7%
for /f "delims=*" %%i in ('call echo %doc%') do set doc=%%i
rem 下面3句去掉路径前的字符串和后面的所有空格
:intercept
if "%doc:~-1%"==" " set "doc=%doc:~0,-1%"&goto intercept
echo %doc%
