[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] [已解决]如何实现将注册表获取的路径作为批处理的变量?

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 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢。

参照 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
复制代码

TOP

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

TOP

返回列表