我在网上读到过这篇文章:
- 按 Windows 键 + R,在框中输入“regedit”,然后按 Enter。
- 转到此路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
- 对“Interfaces”下的所有文件夹重复步骤 4 和 5(您可以拥有 1 到 100 个文件夹,我有 14 个)
- 创建两个新的注册表项,分别称为“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
条目?TcpAckFrequency
TCPNoDelay
我还想知道执行并从文件夹中删除所有这些密钥所需的代码。
警告:
以下说明包含修改注册表的步骤。但是,如果错误地修改注册表,可能会出现严重问题。
因此,请确保仔细遵循这些步骤。为了增加保护,请在修改注册表之前备份它。然后,如果出现问题,您可以恢复注册表。
有关详细信息,请参阅如何在 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 文件保存和恢复。