bluforduwjldz1 最近的时间轴更新
bluforduwjldz1

bluforduwjldz1

V2EX 第 553071 号会员,加入于 2021-08-10 21:10:22 +08:00
bluforduwjldz1 最近回复了
问题出在 for 循环的范围设置上。在您的代码中:

batch

复制
for %%a in (0,1,13) do
这行代码只会循环 3 次,分别处理索引 0 、1 和 13 的规则。在批处理中,这种写法不会遍历 0 到 13 之间的所有数字。

要遍历所有 13 条规则,您可以使用以下修改后的代码:
```bash
@echo off
setlocal enabledelayedexpansion
chcp 65001 > nul

:: 提权到管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
echo Requesting administrative privileges...
powershell -Command "Start-Process '%~0' -Verb runAs"
exit /B
)

:: 定义要添加的规则列表
set "rules[0]=127.0.0.1 dl.pstmn.io"
set "rules[1]=127.0.0.1 onboarding.postman.com"
set "rules[2]=127.0.0.1 analytics.getpostman.com"
set "rules[3]=127.0.0.1 assets.getpostman.com"
set "rules[4]=127.0.0.1 static.getpostman.com"
set "rules[5]=127.0.0.1 skills.gw.postman.com"
set "rules[6]=127.0.0.1 skills-assets.pstmn.io"
set "rules[7]=127.0.0.1 skills.getpostman.com"
set "rules[8]=127.0.0.1 config.getpostman.com"
set "rules[9]=127.0.0.1 cdn.postman.com"
set "rules[10]=127.0.0.1 getpostman.com"
set "rules[11]=127.0.0.1 www.postman.com"
set "rules[12]=#127.0.0.1 identity.getpostman.com"
set "rules[13]=#127.0.0.1 sync-v3.getpostman.com"

:: 设置 hosts 文件路径
set "hostsFile=%windir%\System32\drivers\etc\hosts"

:: 备份原始 hosts 文件
copy "%hostsFile%" "%hostsFile%.bak" >nul

:: 移除 hosts 文件的只读属性
attrib -R "%hostsFile%"

:: 读取每条规则并进行处理
for /L %%a in (0,1,13) do (
set "line=!rules[%%a]!"
echo Current: !line!
:: 检查该规则是否已存在于 hosts 文件中
findstr /C:"!line!" "%hostsFile%" >nul
if errorlevel 1 (
:: 如果未找到,则添加到 hosts 文件
echo !line! >> "%hostsFile%"
echo Added: !line!
) else (
echo Skipped: !line! already exists
)
)

:: 重新添加 hosts 文件的只读属性
attrib +R "%hostsFile%"

echo Done.
endlocal
pause
```

主要修改是将:

```bash
for %%a in (0,1,13) do
```
修改为
```bash
for /L %%a in (0,1,13) do
```

使用 /L 参数后,格式为 (start,step,end),这样会从 0 开始,每次加 1 ,一直到 13 ,从而处理所有的规则。这样修改后,脚本将会处理所有 14 条规则(索引 0 到 13 )。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3660 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 10:36 · PVG 18:36 · LAX 02:36 · JFK 05:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.