Board logo

标题: [注册表类] [已解决]如何实现将注册表获取的路径作为批处理的变量? [打印本页]

作者: edison    时间: 2010-6-5 16:49     标题: [已解决]如何实现将注册表获取的路径作为批处理的变量?

REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal

执行上面的命令,会获得如下的输出:
  1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  2.     Personal    REG_EXPAND_SZ    F:\e\BACKUP\My Documents
复制代码
那么,如何才能将这里的 F:\e\BACKUP\My Documents 作为批处理进行下一步操作的路径变量呢 ?

[ 本帖最后由 edison 于 2010-6-5 17:55 编辑 ]
作者: Batcher    时间: 2010-6-5 17:15

参考:
http://bbs.bathome.net/thread-4193-1-1.html
作者: edison    时间: 2010-6-5 17:55

谢谢。

参照 batcher 的提示,略加更改成功,代码如下:

  1. @echo off
  2. rem 使用 reg 命令读注册表获取 My Docutment 路径并作为路径变量
  3. for /f "tokens=2*" %%a in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal^|findstr "Personal"') do (
  4.   set MyPath=%%b
  5. )
  6. echo %MyPath%
  7. pause
复制代码

作者: lqh123108    时间: 2014-7-17 18:02

For /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set "desk=%%~sfj"
)
pause
如果有中文的话,会发现只得到第一个中文字,这为什么?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2