找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32767|回复: 3

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

[复制链接]
发表于 2010-6-5 16:49:08 | 显示全部楼层 |阅读模式
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 编辑 ]

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢主动给标题标注[已解决]字样

查看全部评分

发表于 2010-6-5 17:15:02 | 显示全部楼层
 楼主| 发表于 2010-6-5 17:55:02 | 显示全部楼层
谢谢。

参照 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
复制代码
发表于 2014-7-17 18:02:02 | 显示全部楼层
For /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set "desk=%%~sfj"
)
pause
如果有中文的话,会发现只得到第一个中文字,这为什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 14:52 , Processed in 0.031637 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表