如何创建批处理脚本在所有子文件夹中创建某些注册表项

如何创建批处理脚本在所有子文件夹中创建某些注册表项

我在网上读到过这篇文章:

  1. 按 Windows 键 + R,在框中输入“regedit”,然后按 Enter。
  2. 转到此路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
  3. 对“Interfaces”下的所有文件夹重复步骤 4 和 5(您可以拥有 1 到 100 个文件夹,我有 14 个)
  4. 创建两个新的注册表项,分别称为“TcpAckFrequency”和“TCPNoDelay”(右键单击空白处,转到“新建”并选择 DWORD(32 位)值)

如何创建一个批处理脚本,遍历所有文件夹HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces并添加两个 DWORD 条目"TcpAckFrequency" and "TCPNoDelay"

我假设该FOR命令已被使用但我只是不知道如何去做。

编辑:我还想知道执行并从文件夹中删除所有这些密钥所需的代码。

答案1

如何创建批处理脚本:

遍历中的所有文件夹并添加和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces两个DWORD条目?TcpAckFrequencyTCPNoDelay

我还想知道执行并从文件夹中删除所有这些密钥所需的代码。

警告

  • 以下说明包含修改注册表的步骤。但是,如果错误地修改注册表,可能会出现严重问题。

  • 因此,请确保仔细遵循这些步骤。为了增加保护,请在修改注册表之前备份它。然后,如果出现问题,您可以恢复注册表。

  • 有关详细信息,请参阅如何在 Windows 中备份和还原注册表


使用以下批处理文件(test.cmd):

@echo off
setlocal
rem get the keys
for /f "usebackq" %%i in (`reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces`) do (
  rem add the values
  reg add %%i /v "TcpAckFrequency" /d "1" /t REG_DWORD
  reg add %%i /v "TCPNoDelay" /d "1" /t REG_DWORD
  )
rem get the keys
for /f "usebackq" %%i in (`reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces`) do (
  rem delete the values
  echo delete %%i /v "TcpAckFrequency" /f
  echo delete %%i /v "TCPNoDelay" /f
  )
endlocal

笔记:

  • 1将in替换/d "1"为适合您用例的任何值。

进一步阅读

  • Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
  • 对于/f- 循环命令以执行另一个命令的结果。
  • 登记- 读取、设置或删除注册表项和值,并从 .REG 文件保存和恢复。

相关内容