为什么我的批处理文件不起作用?

时间:2014-09-21 12:22:56

标签: .net batch-file registry

由于键名中的间距而导致某些内容失败,但使用引号无效并将其设置为变量没有帮助?

由于

@echo off
set key="hklm\software\microsoft\net framework setup\ndp"
 for /f "tokens=*" %%a in ('reg query %key% ^| Find /i "ndp\"') do (
     for /f "tokens=2,* delims= " %%b in ('reg query %%a /v Install') do (
         echo %%c,%%~na
     )
 )

1 个答案:

答案 0 :(得分:1)

您的外部循环在键周围有引号,但您的内部循环reg查询缺少键周围的引号。以下适用于我。我更喜欢保留我的变量值的引号,然后在需要的地方明确地提供它们。所以我也修改了外部循环。

@echo off
set "key=hklm\software\microsoft\net framework setup\ndp"
for /f "tokens=*" %%a in ('reg query "%key%" ^| find /i "ndp\"') do (
  for /f "tokens=2,* delims= " %%b in ('reg query "%%a" /v Install') do (
    echo %%c,%%~na
  )
)