楼主的思路很不错, 注册表里的数据是绝对正确的. 通不通用这就要看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并不是完整的路径格式, 是不能使用路径扩充的.