![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 02:28 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何从注册表中获取到系统环境变量,并把其中文件保存 |
| 可打印版本 1,054 / 4 |
| 第1楼 wushi4057216 | 发表于 2010-08-03 18:13 |
| 新手上路 发帖 3 积分 3 | |
|
如何从注册表中获取到系统环境变量,并把其中文件保存 RT.
我想使用批处理来保存我的文档,桌面,和收藏夹里的内容到D盘 但是很多电脑环境变量有的改变了.不能通过这段命令来保存xcopy /e /q /h /i /c /y "%userprofile%\桌面\*.*" "d:\Backup\桌面" xcopy /e /q /h /i /c /y "%userprofile%\我的文档\*.*" "d:\Backup\桌面" xcopy /e /q /h /i /c /y "%userprofile%\Favorites\*.*" "d:\Backup\桌面" 查看了下注册表内的环境变量 这个语句:reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" >1.txt 1.txt内容如下: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders AppData REG_EXPAND_SZ %USERPROFILE%\Application Data Desktop REG_EXPAND_SZ %USERPROFILE%\桌面 Favorites REG_EXPAND_SZ D:\My Documents\Favorites NetHood REG_EXPAND_SZ %USERPROFILE%\NetHood Personal REG_EXPAND_SZ D:\My Documents PrintHood REG_EXPAND_SZ %USERPROFILE%\PrintHood Templates REG_EXPAND_SZ %USERPROFILE%\Templates My Pictures REG_EXPAND_SZ D:\My Documents\My Pictures My Music REG_EXPAND_SZ D:\My Documents\My Music 现在的问题是如何把 Favorites REG_EXPAND_SZ D:\My Documents\Favorites 后面的值赋予.使之可以复制其中的内容~~ 想请教下论坛高手如何实现这个目标..希望给予些指点~~ 批处理新手留.. |
|
| 第2楼 HAT | 发表于 2010-08-04 00:42 |
| 版主 发帖 5,017 积分 9,023 | |
|
学习一下如何使用for命令吧
|
|
| 第3楼 wys0754 | 发表于 2010-08-04 14:26 |
| 新手上路 发帖 4 积分 4 | |
|
for /f "skip=4 tokens=3" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v desktop') do (xcopy /e /q /h /i /c /y "%%a\*.*" "d:\Backup\桌面")
for /f "skip=4 tokens=3" %%b in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal') do (xcopy /e /q /h /i /c /y "%%b\*.*" "d:\Backup\桌面") for /f "skip=4 tokens=3" %%c in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Favorites') do (xcopy /e /q /h /i /c /y "%%c\*.*" "d:\Backup\桌面") [ Last edited by wys0754 on 2010-8-4 at 14:34 ] |
|
| 第4楼 wushi4057216 | 发表于 2010-08-04 19:31 |
| 新手上路 发帖 3 积分 3 | |
|
谢谢楼上的回答...试了你的代码..出错了..::
C:\Documents and Settings\Administrator\桌面\V "D:\My\*.*" "d:\Backup\桌面" ) 找不到文件 - *.* 复制了 0 个文件 注册表键值: Favorites REG_EXPAND_SZ D:\My Documents\Favorites 这个键值MY后面带空格的...我找到一个方法获取了出来.(呵呵.也是咱们论坛的内容.是提取注册表两个内容.合并后写入另一个地址的帖子..) @echo off set p=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders for /f "skip=4 tokens=2*" %%a in ('reg query "%p%" /v Desktop') do set "ver=%%b" for /f "skip=4 tokens=2*" %%c in ('reg query "%p%" /v Favorites') do set "servp=%%d" for /f "skip=4 tokens=2*" %%e in ('reg query "%p%" /v Personal') do set "servp1=%%f" echo %ver% %servp% %servp1% pause xcopy /e /q /h /i /c /y "%ver%\*.*" "d:\Backup\桌面" xcopy /e /q /h /i /c /y "%servp%\*.*" "d:\Backup\收藏夹" xcopy /e /q /h /i /c /y "%servp1%\*.*" "d:\Backup\我的文档" 整个文件还需要更加完善了修改.. 这段对于修改了环境变量的系统米作用.. 明天继续学习下.. [ Last edited by wushi4057216 on 2010-8-4 at 19:32 ] |
|
| 第5楼 wys0754 | 发表于 2010-08-04 23:43 |
| 新手上路 发帖 4 积分 4 | |
|
呵呵,确实忘了还有空格哪。
![]() [ Last edited by wys0754 on 2010-8-5 at 00:30 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |