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
Batch file 批处理正在打印消息,即使echo已关闭_Batch File_Registry_Echo - Fatal编程技术网

Batch file 批处理正在打印消息,即使echo已关闭

Batch file 批处理正在打印消息,即使echo已关闭,batch-file,registry,echo,Batch File,Registry,Echo,我有一个简单的代码,可以打印出特定键中的注册表值。 问题是,我在下面循环的每次迭代中都会打印出active directory 为了记录,我使用了一个只有2个DWORD值的不同键: 名称和测试 @Echo Off set SpecialUserRegDir=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows REG QUERY "%SpecialUserRegDir%" /s | for /F %%f in ('findstr "R

我有一个简单的代码,可以打印出特定键中的注册表值。 问题是,我在下面循环的每次迭代中都会打印出active directory

为了记录,我使用了一个只有2个DWORD值的不同键: 名称和测试

@Echo Off
set SpecialUserRegDir=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
REG QUERY "%SpecialUserRegDir%" /s | for /F %%f in ('findstr "REG_DWORD"') do ( 
   @echo %%f
   [increment will be here]
)
输出

C:\User\[username]\Desktop\RegTest>()
NAME

C:\User\[username]\Desktop\RegTest>()
Test
我知道如果我用单命令替换do块,这个问题就会消失,但是
do
块中会有其他代码,所以我不能用单命令替换它

考虑到这一点,有没有办法在不打印出
C:\User\[username]\Desktop\RegTest>()
的情况下编写REG查询命令(以及之后的组合)

@Echo Off
set SpecialUserRegDir=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
REG QUERY "%SpecialUserRegDir%" /s | for /F %%f in ('findstr "REG_DWORD"') do @( 
   echo %%f
   [increment will be here]
)

管道和for echo打开,因此您也需要从支架上回声。

这非常简单。非常感谢。