找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19717|回复: 2

[文本处理] [已解决]批处理怎样批量替换html文件中两种颜色?

[复制链接]
发表于 2023-7-22 13:52:25 | 显示全部楼层 |阅读模式
大家好,我在论坛找了很多个批处理文件都是针对txt文件替换的,我把代码中文件后缀txt直接修改为html替换后网面打开出问题,其中一个帖子如下
http://www.bathome.net/thread-39371-1-1.html

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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-7-22 15:06:14 | 显示全部楼层
  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
复制代码


使用前先测试!

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-7-22 17:45:53 | 显示全部楼层
使用前先测试!
77七 发表于 2023-7-22 15:06



    非常谢谢大佬的帮助,解决了我的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 15:36 , Processed in 0.018708 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表