标题: 【讨论】rar的路径这样查询注册表对吗?
[打印本页]
作者: IceCrack
时间: 2006-7-27 00:45
标题: 【讨论】rar的路径这样查询注册表对吗?
for /f "skip=4 tokens=3 delims= " %%i in ('reg quedery "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" /v "path" ') do set rarpath=%%~dpi
最近要用到正确定位rar的位置的bat.我是通过上面的方面来的.但是不知道这个是否有通用性.是否正解.
作者: lxmxn
时间: 2006-10-6 11:27
@echo off
for /f "tokens=2* skip=4" %%i in ('reg query "hklm\software\microsoft\windows\currentversion\app paths\winrar.exe" /v "path"')do @echo %%j
pause
作者: vkill
时间: 2006-10-7 07:53
注册表查询可以的
作者: pengfei
时间: 2006-10-7 09:12
楼主的思路很不错, 注册表里的数据是绝对正确的. 通不通用这就要看reg query输出的格式了. 如果格式不同将对提取指定字符造成阻碍.
2楼朋友的代码很不错, 改进一下:
@echo off
for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" /v "path" ^| findstr /i /c:"REG_SZ"') do (
echo %%j
)
pause
楼主的reg quedery命令在我电脑上不是这样的. 而一楼代码采取路径扩充显然是错误的, 因为%%i并不是完整的路径格式, 是不能使用路径扩充的.
作者: lxmxn
时间: 2006-10-7 10:37
嘿嘿,pengfei兄的代码确实比我高级些啊~
我用的是skip=4,而兄弟用的是一个find "REG_SZ" /i
作者: pengfei
时间: 2006-10-7 21:18
其实你2楼跳过前四行的代码执行效率更高.
而我用findstr查找字符串值显示的那一行是因为担心不同系统显示不同, 而指定查找字符串的显示行则可以减少发生错误的可能.
作者: my3439955
时间: 2006-10-8 00:18
楼主提到通用性
好象2000不支持reg这个命令吧
在2000下可以用
regedit /e
来导出注册表路径进行处理
作者: electronixtar
时间: 2006-10-8 05:22
其实XP出来以前的批处理编程对注册表的操作都是通过 regedit 来完成的
作者: bob1989
时间: 2007-4-23 05:54
regedit /e
生成好大一个文件再去里面找吗?
作者: flyinspace
时间: 2007-4-23 07:45
regedit /e “文件名” “路径名”
2000下似乎只有。
regedit /e 1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe"
for /f "tokens=1* delims== " %%i in ('type 1.txt ^| findstr /i "=" ^| findstr /i
"path"') do (
echo 路径名:%%~i
echo 路径:%%~fj
)
pause
作者: nbic
时间: 2007-4-23 14:40
我也学了一招。。。不错 。。