[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] Bat 如何在批处理的过程中调用文本文件中的随机一行字符串

本帖最后由 wodekao 于 2021-8-15 17:05 编辑

UPDATEDNS.bat

netsh interface ip set dns "以太网" static 8.8.8.8 primary


DNS.txt

114.114.114.114
223.5.5.5
180.76.76.76
119.29.29.29
1.2.4.8
117.50.11.11

需要在运行 UPDATEDNS.bat 的时候  

netsh interface ip set dns "以太网" static 这个地方需要调用DNS.txt中随机的一行内容 primary


如果把这些内容
114.114.114.114
223.5.5.5
180.76.76.76
119.29.29.29
1.2.4.8
117.50.11.11
放到UPDATEDNS.bat文件中进行随机调用,如何实现?

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (dns.txt) do set/a n+=1
  3. set/a nn=%random%%%!n!+1
  4. set n=
  5. for /f "delims=" %%a in (dns.txt) do (
  6. set/a n+=1
  7. if "n"=="nn" set nnn=%%a&&goto :n
  8. )
  9. :n
  10. netsh interface ip set dns "以太网" static %nnn% primary
  11. pause
复制代码

TOP

回复 2# idwma

运行错误,提示参数错误,对象已在列表中.

TOP

回复 3# wodekao
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (dns.txt) do set/a n+=1
  3. set/a nn=%random%%%!n!+1
  4. set n=
  5. for /f "delims=" %%a in (dns.txt) do (
  6. set/a n+=1
  7. if "n"=="nn" set nnn=%%a&&goto :n
  8. )
  9. :n
  10. netsh interface ip delete dnsservers "以太网" all
  11. netsh interface ip set dns "以太网" static %nnn% primary
  12. pause
复制代码

TOP

返回列表