![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 22:20 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,275 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理能取得注册表指定值吗? |
| 可打印版本 1,881 / 15 |
| 第1楼 yyf0346 | 发表于 2007-09-29 15:53 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
批处理能取得注册表指定值吗? 已知参数值
SET a=SQLEXPRESS1 如何取得注册表目录HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS1\Setup下数值名称为SQLPath的数值数据 并返回给参数 b |
|
| 第2楼 wudixin96 | 发表于 2007-09-29 16:10 |
| 银牌会员 发帖 931 积分 1,928 | |
Originally posted by yyf0346 at 2007-9-29 03:53 PM: 需要用变量a来替换红色部分吗? |
|
| 第3楼 yyf0346 | 发表于 2007-09-29 16:22 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
是啊,我刚才不在,不好意思啊 回复慢了,
是这样的,那个参数是用户输入的 SET /P a=请输入参数: 我另外问一下,如果用户输入的是abcd\SQLEXPRESS1 我怎么取的SQLEXPRESS1这部分呢? |
|
| 第4楼 wudixin96 | 发表于 2007-09-29 16:33 |
| 银牌会员 发帖 931 积分 1,928 | |
|
@echo off
set /p a=请输入参数: set a=%a:*\=% for /f "delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\%a%\Setup"^|find /i "SQLPath"') do echo %%i pause 没条件测试,自己看下 |
|
| 第5楼 yyf0346 | 发表于 2007-09-29 16:51 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
好的 谢谢你 我测试看看
|
|
| 第6楼 yyf0346 | 发表于 2007-09-29 17:10 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
谢谢你,测试是成功的,不过我是菜鸟啊
屏幕显示: SQLPath REG_SZ E:\Program Files\Microsoft SQL Server\MSSQL.2 我想要取得“E:\Program Files\Microsoft SQL Server\MSSQL.2”这个部分的字符串呀,怎么办呢?最好放在一个参数里 |
|
| 第7楼 wudixin96 | 发表于 2007-09-29 17:19 |
| 银牌会员 发帖 931 积分 1,928 | |
|
@echo off
set /p a=请输入参数: set a=%a:*\=% for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\%a%\Setup"^|find /i "SQLPath"') do echo %%j pause |
|
| 第8楼 yyf0346 | 发表于 2007-09-29 17:27 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
谢谢你!你太强了,以后有问题就请教你了啊
|
|
| 第9楼 yyf0346 | 发表于 2007-09-29 19:57 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
Originally posted by wudixin96 at 2007-9-29 05:19 PM: 我在你这个代码下边加上这段: set rep=%%j echo %rep% 显示内容怎么是%j 呢,就是显示%j这两个字符出来,为什么呀》 |
|
| 第10楼 yyf0346 | 发表于 2007-09-29 20:08 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
@echo off
set /p a=请输入参数: set a=%a:*\=% for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\%a%\Setup"^|find /i "SQLPath"') do echo %%j pause 麻烦wudixin告诉我一下,下边的代码没有问题,的确是在屏幕上显示了我想要的值,可是我不知道这个值是放在哪个参数里?是%%j吗? 可是当我在pause下边加上这段语句: set a=%%j echo %a% 这个时候显示出来的就不是那个值了,能告诉我为什么吗? |
|
| 第11楼 wudixin96 | 发表于 2007-09-29 20:12 |
| 银牌会员 发帖 931 积分 1,928 | |
|
要在for里赋值
|
|
| 第12楼 yyf0346 | 发表于 2007-09-29 20:28 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
如果我定义一个参数
set a= 那要怎么把那个找到的值赋值给a呢,能帮我实现吗?我实在不懂呀....... |
|
| 第13楼 yyf0346 | 发表于 2007-09-29 21:05 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
wudixin
大哥啊,你到哪里去啦? |
|
| 第14楼 yyf0346 | 发表于 2007-09-29 21:52 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
wudixin人呢?
呵呵,这是我关于这个问题的最后一个疑问了,对于bat批处理我是刚开始学的,所以.............. 你快出来呀 |
|
| 第15楼 wudixin96 | 发表于 2007-09-29 21:56 |
| 银牌会员 发帖 931 积分 1,928 | |
|
@echo off
set /p a=请输入参数: set a=%a:*\=% for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\%a%\Setup"^|find /i "SQLPath"') do set a=%%j echo %a% pause 不好意思,看电视去了,o(∩_∩)o... 是上面这个意思吗?? |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |