batch-file - 批处理正在打印消息,即使回声已关闭

标签 batch-file registry echo

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

作为记录,我使用了一个只有 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 中还会有其他代码。块,所以我不能用单个命令替换它。

考虑到这一点,是否有任何方法可以在不打印出 C:\User\[username]\Desktop\RegTest>() 的情况下编写该 REG QUERY 命令(以及之后的组合)。 ?

最佳答案

尝试:

@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 打开回声,因此您也需要回声括号。

关于batch-file - 批处理正在打印消息,即使回声已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153911/

相关文章:

windows - 使用批处理备份注册表

PHP 在 echo <_END 中显示来自 MySQL 的图像 BLOB

windows - 使用 Unix 换行符将行回显到 Windows 上的文件

php - 如何使用 PHP 从数据库中获取单个数字

c++ - 如何从其他exe程序运行Devenv.exe?

java - 在批处理文件中传递带有空格的 JVM 参数

powershell - 将带有转义符的参数从PowerShell提示符传递到批处理文件

windows - 使用批处理文件复制名称仅包含数字的文件

powershell - 使用 PowerShell 远程运行注册表文件

c# - 如何将文件类型与图标相关联?