![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 21:50 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何查询出软件SQLServer2000的安装路径? |
| 可打印版本 2,222 / 21 |
| 第1楼 augvii | 发表于 2008-09-23 19:52 |
| 初级用户 发帖 17 积分 38 | |
|
如何查询出软件SQLServer2000的安装路径? 比如如何查出sqlserver安装的路径?
我用了下面的语句但是除了路径,还有其它信息,请问还有什么方法能直接查出路径吗? ----------------------------------------------------------------------------------------------------------------- FOR /F "delims=" %%i IN ('@reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup" /v SQLPath') DO @SET mypath=%%i ----------------------------------------------------------------------------------------------------------------- [ Last edited by augvii on 2008-9-28 at 11:41 ] |
|
| 第2楼 augvii | 发表于 2008-09-23 20:44 |
| 初级用户 发帖 17 积分 38 | |
|
难道是我没描述清楚?我想查出安装sqlserver2000的安装路径,再传给一个变量。但是按照上面的方法,得到的是“ SQLPath REG_SZ C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL “。我想得到C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL,批处理该如何写?(注意:后面是没带空格的)
|
|
| 第3楼 HAT | 发表于 2008-09-23 20:49 |
| 版主 发帖 5,017 积分 9,023 | |
| 第4楼 augvii | 发表于 2008-09-23 20:58 |
| 初级用户 发帖 17 积分 38 | |
|
谢谢,HAT.
CN-DOS上的人果然很热心。查了一下午都没结果,没想到在这10分钟就搞定了。 |
|
| 第5楼 everest79 | 发表于 2008-09-24 03:43 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
你查下本地变量path中应有安装路径
|
|
| 第6楼 augvii | 发表于 2008-09-24 09:35 |
| 初级用户 发帖 17 积分 38 | |
|
To everest79:path里取的值好像不是安装路径。我是想取sqlserver数据库文件的存放目录
|
|
| 第7楼 augvii | 发表于 2008-09-24 09:38 |
| 初级用户 发帖 17 积分 38 | |
|
to HAT:那段代码有点奇怪,一台机器上都取得了,但在另一台机器上,就取不全了。难道reg真的会漏字符?可是不是中文路径啊?
还想问一下,%%b,是在什么时候取值的? [ Last edited by augvii on 2008-9-24 at 09:39 AM ] |
|
| 第8楼 HAT | 发表于 2008-09-24 09:44 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 7楼 对于漏字符的机器,系统版本是什么?
你可以到注册表编辑器里面看看是否真的有中文: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup\SQLPath 另,昨晚在群里提到的那个调用VBS来读注册表的代码会不会出现同样的问题? |
|
| 第9楼 augvii | 发表于 2008-09-24 09:56 |
| 初级用户 发帖 17 积分 38 | |
|
没有中文
用三楼的代码这台机器出现: ~-1SQLR\Data -------------------------------------------------------- @echo off >"%temp%\my.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell") >>"%temp%\my.vbs" echo WScript.Echo WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup") for /f "delims=" %%a in ('cscript /nologo "%temp%\my.vbs"') do set SQL=%%a echo %SQL% pause -------------------------------------------------------------------------------------------- 这个代码看不到效果啊,一闪而过。 |
|
| 第10楼 HAT | 发表于 2008-09-24 10:13 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 9楼 出问题的机器,版本是什么?
在那台机器上运行这个代码,把结果贴出来看看: 调用VBS的代码,是不是应该这样: |
|
| 第11楼 augvii | 发表于 2008-09-24 10:30 |
| 初级用户 发帖 17 积分 38 | |
|
第一个代码运行结果:
~-1SQLR\Data -------------------------------------------------------------------------- 第二个代码成功取出: C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL --------------------------------------------------------------------------- 我本想取得sqlserver目录下的Date文件的路径,即存放数据库文件的目录。 现在数据库sqlserver2000安装时数据目录和安装目录分开的。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup\SQLPath查出的是安装目录。不知道存放数据库文件的目录应该查看注册表的哪一项? |
|
| 第12楼 augvii | 发表于 2008-09-24 10:41 |
| 初级用户 发帖 17 积分 38 | |
|
sqlserver2000数据库文件存放目录对应注册表查到了
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup\SQLDataRoot 现在用VBS可以实现了。谢谢 但我想问下cscript /nologo 是什么意思啊? |
|
| 第13楼 HAT | 发表于 2008-09-24 11:16 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 11楼:
把10楼的第一段代码保存为test.bat,双击运行,把完整结果贴出来看看。 Re 12楼: 看看帮助 cscript /? |
|
| 第14楼 augvii | 发表于 2008-09-24 12:07 |
| 初级用户 发帖 17 积分 38 | |
|
C:\Documents and Settings\Administrator\桌面\sqltest-augvii>for /F "skip=4 token
s=1,2 delims=:" %a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLSe rver\Setup" /v "SQLPath"') do ( set SQLL=%a set SQLR=%b ) C:\Documents and Settings\Administrator\桌面\sqltest-augvii>set SQL=~-1SQLR C:\Documents and Settings\Administrator\桌面\sqltest-augvii>echo ~-1SQLR ~-1SQLR C:\Documents and Settings\Administrator\桌面\sqltest-augvii>pause 请按任意键继续. . . 我是放在桌面运行的,刚刚复制到d:\也是不行。。。 ================================================== 还有个问题:copy xx.txt %SQL% 有错吗? (xx.txt为同一目录下的文件,SQL为赋了一个路径的变量) [ Last edited by augvii on 2008-9-24 at 12:11 PM ] |
|
| 第15楼 HAT | 发表于 2008-09-24 13:37 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 14楼 开始
运行 cmd reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup" /v "SQLPath" 结果是什么?如果没有结果,请检查这台机器是否安装了SQL Server 2000 路径有空格的时候记得加引号: |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |