You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows批处理:如何提取含空格的Putty注册表路径至变量?

提取注册表中Putty路径的批处理方案(适配Windows 10)

核心逻辑

Windows 10下REG QUERY的输出分隔符由XP的制表符改为4个空格,且Putty路径可能包含空格,因此需要通过字符串截取、替换的方式精准提取路径,全程依赖系统自带的批处理工具实现。

批处理代码实现

@echo off
setlocal enabledelayedexpansion

:: 指定目标注册表项和键名
set "regKey=HKCU\Software\SimonTatham\PuTTY\Sessions\Default%20Settings"
set "regValue=PuttyPath"

:: 执行注册表查询,过滤出目标键的行
for /f "tokens=*" %%a in ('reg query "%regKey%" /v "%regValue%" 2^>nul') do (
    set "line=%%a"
    :: 截取键名之后的所有内容
    set "line=!line:*%regValue%=!"
    :: 移除键名与路径之间的4个空格分隔符
    set "line=!line:    =!"
    :: 将提取到的路径赋值给putty变量
    set "putty=!line!"
)

:: 验证并输出结果
if defined putty (
    echo 提取到的Putty路径:!putty!
) else (
    echo 未找到Putty相关注册表项
)

endlocal

代码说明

  • setlocal enabledelayedexpansion:启用延迟变量扩展,确保循环内的变量修改能实时生效
  • reg query "%regKey%" /v "%regValue%" 2^>nul:查询指定注册表项,忽略无权限或不存在项的错误输出
  • 两次字符串处理:先截掉键名及之前的内容,再移除分隔用的4个空格,最终得到完整路径
  • 最后判断变量是否存在,输出提取结果或提示未找到

注意事项

  • 若Putty为全局安装,需将regKey改为HKLM\Software\SimonTatham\PuTTY\...,且批处理需以管理员权限运行
  • 部分Putty版本的注册表路径或键名可能有差异,可先手动执行REG QUERY命令确认目标项位置

内容的提问来源于stack exchange,提问作者rund

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:12:05