我有一个简单的代码,用于打印特定键中的注册表值。 问题是,我在下面循环的每次迭代中打印出活动目录。
为了记录,我使用一个只有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
我知道如果我用signle命令替换do块,这个问题就会消失,但do
块中会有其他代码,所以我不能用奇异命令替换它。
考虑到这一点,有没有办法编写REG QUERY命令(以及之后的组合)而不打印出C:\User\[username]\Desktop\RegTest>()
?
答案 0 :(得分:3)
尝试:
@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]
)
管道和转弯回声,所以你也需要用括号回声。