Board logo

标题: [文本处理] [已解决]批处理怎样批量替换html文件中两种颜色? [打印本页]

作者: geekcat    时间: 2023-7-22 13:52     标题: [已解决]批处理怎样批量替换html文件中两种颜色?

大家好,我在论坛找了很多个批处理文件都是针对txt文件替换的,我把代码中文件后缀txt直接修改为html替换后网面打开出问题,其中一个帖子如下
http://www.bathome.net/thread-39371-1-1.html

请各位帮忙解决一下,谢谢
需求场景:当前目录及子目录中有很多个(100+)html文件,文件中图标颜色需要更换指定色
亮红色替换为稍暗一点的红色('#ff0000'--->'#c10000')
亮绿色替换为稍暗一点的绿色('#00ff00'--->'#009d00')
作者: 77七    时间: 2023-7-22 15:06

  1. @echo off
  2. set "old1=#ff0000"
  3. set "new1=#c10000"
  4. set "old2=#00ff00"
  5. set "new2=#009d00"
  6. for /f "delims=" %%i in ('dir /b /s /a-d *.html') do (
  7. (for /f "delims=" %%a in ('findstr /n .* "%%i"') do (
  8. set "str=%%a"
  9. setlocal enabledelayedexpansion
  10. set "str=!str:%old1%=%new1%!"
  11. set "str=!str:%old2%=%new2%!"
  12. echo=!str:*:=!
  13. endlocal
  14. ))>"xxx.html"
  15. move /y "xxx.html" "%%i"
  16. )
  17. pause
复制代码

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.html') do (
  3. sed -i "s/#ff0000/#c10000/g;s/#00ff00/#009d00/g" "%%i"
  4. )
  5. pause
复制代码


使用前先测试!
作者: geekcat    时间: 2023-7-22 17:45

使用前先测试!
77七 发表于 2023-7-22 15:06



    非常谢谢大佬的帮助,解决了我的问题。




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