Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For loop 批处理:尝试输出可变内容时,ECHO始终处于打开状态_For Loop_Batch File_Echo - Fatal编程技术网

For loop 批处理:尝试输出可变内容时,ECHO始终处于打开状态

For loop 批处理:尝试输出可变内容时,ECHO始终处于打开状态,for-loop,batch-file,echo,For Loop,Batch File,Echo,在尝试运行脚本时,我总是收到消息“Echo已打开” setlocal ENABLEEXTENSIONS C: cd .. cd .. reg query "HKLM\SYSTEM\CurrentControlSet\Services" | findstr /b "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DummyService" > "C:\servicePaths.txt" FOR /f "delims=" %%g IN

在尝试运行脚本时,我总是收到消息“Echo已打开”

setlocal ENABLEEXTENSIONS
C:
cd ..
cd ..
reg query "HKLM\SYSTEM\CurrentControlSet\Services" | findstr /b "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DummyService" > "C:\servicePaths.txt"
FOR /f "delims=" %%g IN (servicePaths.txt) do (
  set KEY_NAME="%%g"
  set VALUE_NAME=ImagePath
    FOR /F "tokens=1-3" %%A IN ('REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul') DO (
    set ValueValue=%%C
    )
  echo %ValueValue%
  pause
)

有谁能帮我一下吗?我知道这与级联for循环有关,但我找不到解决方案-在3个小时的尝试和错误后不再有任何线索。

这是扩展
%ValueValue%
的问题,因为解析完整的括号块时会发生这种情况。
不是在执行时,而是在解析时,
ValueValue
变量为空,因此您只会得到
echo
,它将打印
echo处于打开状态

只需将其更改为延迟扩展

@echo off
setlocal EnableDelayedExpansion
C:
cd ..
cd ..
set VALUE_NAME=ImagePath

reg query "HKLM\SYSTEM\CurrentControlSet\Services" | findstr /b "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DummyService" > "C:\servicePaths.txt"
FOR /f "delims=" %%g IN (servicePaths.txt) do (
  set "KEY_NAME=%%g"
    FOR /F "tokens=1-3" %%A IN ('REG QUERY !KEY_NAME! /v !VALUE_NAME! 2^>nul') DO (
    set ValueValue=%%C
    )
  echo !ValueValue!
  pause
)

您可能还希望在脚本顶部添加
@ECHO OFF