Board logo

标题: 弄了半天,终于成功用批处理读取了注册表内的值 [打印本页]

作者: wuhanbin     时间: 2008-8-26 16:09    标题: 弄了半天,终于成功用批处理读取了注册表内的值

@echo off
for /f "skip=3 tokens=3,4 delims=        " %%a in ('reg query HKCU\Software\KINGSOFT\ANTIVIRUS\ /v ProgramPath') do set str=%%a%%b
echo %str%
pause

用这个代码,终于获得金山毒霸2008软件的安装路径了!
作者: wuhanbin     时间: 2008-8-26 16:10
注意”delims=        "中间空白部分是一个TAB键,论坛发不上来
作者: HAT     时间: 2008-8-26 16:16
另外一个思路是用盘符后面的冒号作为列分隔符,楼主可以试试。
作者: wuhanbin     时间: 2008-8-26 16:24
谢谢提醒。现在就是有个问题,批处理是一步步自执行的,用批处理打开一个程序,程序窗口没关闭,批处理就呆在那儿也不能关闭。如何通过批处理内插入脚本实现诸如start的效果?使运行的一个程序还没关闭,批处理就自动退出?

[ Last edited by wuhanbin on 2008-8-26 at 04:26 PM ]
作者: HAT     时间: 2008-8-26 16:27
start不行吗?
@echo off
start qq.exe
echo hello

作者: wuhanbin     时间: 2008-8-26 16:30
运行的是WINDOWS程序,不是DOS的
作者: wuhanbin     时间: 2008-8-26 16:30
貌似开不开
作者: wuhanbin     时间: 2008-8-26 16:31
比如说start c:\windows\1.exe
只会显示c:\windows\1.exe的CMD屏幕

[ Last edited by wuhanbin on 2008-8-26 at 04:33 PM ]
作者: HAT     时间: 2008-8-26 16:40
1.exe是什么程序?
显示c:\windows\1.exe的CMD屏幕能截图上来看看吗?
作者: wuhanbin     时间: 2008-8-26 16:44
我是举个例子。实际上这个程序在http://www.cn-dos.net/forum/viewthread.php?tid=42494&fpage=1这个贴1楼最后一行uplive.exe(就是金山毒霸升级程序)
作者: wuhanbin     时间: 2008-8-26 16:53
CMD屏幕上TITLE显示的是C:\Program Files\Kingsoft\Kingsoft Internet Security 2008\uplive.exe,黑色屏幕现实的就是用开始菜单运行CMD打开的样子
作者: HAT     时间: 2008-8-26 17:00
有空格的时候需要这样:
start "" "C:\my test\1.exe"

作者: wuhanbin     时间: 2008-8-26 17:19
太强了HAT,start 后面紧跟 "" 是为什么?一种特殊命令?
作者: HAT     时间: 2008-8-26 17:39
看看帮助
start /?
想想
作者: wuhanbin     时间: 2008-8-28 23:20
start 后面紧跟的"" 原来是 "title" ,那么DOS程序为什么直接就可以 start "*.exe" ?
作者: HAT     时间: 2008-8-28 23:23


  Quote:
C:\Test>start /?
Starts a separate window to run a specified program or command.

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program]
      [parameters]

中括号里面的开关或者参数表示可选而不是必选