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

[文本处理] 求助BAT批量修改txt文件里面某一个字段

  1. @echo off
  2. %1 %2
  3. ver|find "5.">nul&&goto :st
  4. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof
  5. :st
  6. copy "%~0" "%windir%\system32\"
  7. @echo off
  8. rem //设置变量
  9. set NAME="以太网"
  10. rem //以下属性值可以根据需要更改
  11. set ADDR=10.10.100.[color=Red][b]1[/b][/color]
  12. set MASK=255.255.255.0
  13. set GATEWAY=10.10.100.1
  14. set DNS1=221.228.255.1
  15. echo 正在设置静态IP,请稍等...
  16. rem //可以根据你的需要更改
  17. echo IP地址 = %ADDR%
  18. echo 掩码 = %MASK%
  19. echo 网关 = %GATEWAY%
  20. netsh interface ipv4 set address %NAME% static %ADDR% %MASK% %GATEWAY%
  21. echo 首选DNS = %DNS1%
  22. netsh interface ipv4 set dns %NAME% static %DNS1%
  23. echo 静态IP已设置!
  24. pause
复制代码
每个TXT文件里面都是上面的内容,现在想批量修改红色字,为下面这张图片中文件名后括号的内容,比如文件名为10.10.100.1 (4) ,那里面对应的红色字就修改成4;文件名为10.10.100.1 (10) ,那里面对应的红色字就修改成10

  1. PowerShell "dir *.txt | ?{$_.BaseName -match '\((\d+)\)$'} | forEach{$s = (gc $_) -replace '(?<=set ADDR=(?:\d+\.){3})\d+',$matches[1]; sc $_ $s}"
复制代码

TOP

回复 2# WHY
请教一下,怎么用,没明白,谢谢

TOP

返回列表