【问题标题】:Process reg query with spaces处理带有空格的 reg 查询
【发布时间】:2012-12-18 09:26:12
【问题描述】:

我正在尝试读取注册表项值并在程序中稍后的变量中使用它,但是我的注册表项包含空格,现在我无法让它工作,有人知道用空格处理键吗?

for /f "tokens=3" %%a in ('reg query "HKEY_CLASSES_ROOT\Software\VTS\TREADSTONE LT\Main" /v EXECUTE ^| find /i "REG_SZ"') do set UserNm=%%a 

MSG * %UserNm%
pause

我正在使用 Windows 批处理。

【问题讨论】:

    标签: batch-file registry


    【解决方案1】:

    要使用双引号,您需要在 for 循环中使用 usebackq 并将您的 ' 更改为反引号。

    for /f "usebackq tokens=3" %%a in (`reg query "HKEY_CLASSES_ROOT\Software\VTS\TREADSTONE LT\Main" /v EXECUTE ^| find /i "REG_SZ"`) do set UserNm=%%a 
    

    【讨论】:

    • for /f "usebackq tokens=3" %%a in (reg query "HKEY_CLASSES_ROOT\Software\VTS\TREADSTONE LT\Main" /v EXECUTE ^| find /i "REG_SZ") 设置 ACADVER=%%a msg * %ACADVER%
    • 没有工作手动检查注册表中的密钥,它说 C:\Program Files\Autodesk\AutoCAD Architecture 2012\acad.exe
    • 怎么没用?你收到错误了吗?它对我来说很好。
    • 不,我仍然得到 C:\oohhh 抱歉,我只是没有照顾好名字中的空格是我的错,你知道如何照顾名字中的空格吗(红脸,哈哈)
    • 不用担心,你的意思是值中的空格吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 2016-11-25
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多