Board logo

标题: [文本处理] 求助BAT批量修改txt文件里面某一个字段 [打印本页]

作者: xls829    时间: 2020-8-27 10:45     标题: 求助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
作者: WHY    时间: 2020-8-27 12:55

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

作者: xls829    时间: 2020-8-27 13:10

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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2