You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Windows BAT文件向HTML文件插入脚本引用

用Windows BAT脚本向HTML的插入脚本引用

我帮你写了一个可以直接运行的BAT脚本,完美实现你要的需求——把<script src="*.js"></script>插入到所有HTML文件的<head>标签内部:

@echo off
setlocal enabledelayedexpansion

:: 遍历当前目录下所有HTML文件
for %%f in (*.html) do (
    :: 创建临时文件存储修改后的内容
    type nul > "%%f.tmp"
    :: 逐行读取原HTML文件
    for /f "delims=" %%v in ('type "%%f"') do (
        :: 先把当前行写入临时文件
        echo %%v>> "%%f.tmp"
        :: 判断当前行是否是<head>标签(如果你的文件里是转义的&lt;head&gt;,就改成对应的判断)
        if "%%v"=="<head>" (
            :: 在<head>下一行插入脚本标签,加缩进保证格式美观
            echo    <script src="*.js"></script>>>"%%f.tmp"
        )
    )
    :: 替换原文件
    del "%%f"
    ren "%%f.tmp" "%%f"
)
echo 所有HTML文件的脚本引用已插入完成!
endlocal

脚本逻辑拆解:

  • @echo off:关掉命令行的默认命令回显,让输出更清爽
  • setlocal enabledelayedexpansion:启用延迟变量扩展,避免循环里的变量读取异常
  • 用*.html遍历目标文件:可以替换成你需要的文件匹配规则(比如index.html指定单个文件)
  • 临时文件%%f.tmp:直接修改原文件容易出问题,先把内容写到临时文件,最后替换原文件更安全
  • delims=:保证能读取包含空格的整行内容,不会把行截断
  • 缩进处理:插入脚本时加了4个空格,让HTML代码保持整洁的格式

针对你之前代码的问题修正:

  1. 你之前遍历的是*.txt文件,要改成*.html才能处理目标文件
  2. 判断条件错误:你匹配的是&gt;Line-X,实际要匹配的是<head>标签(如果是转义字符版本就匹配&lt;head&gt;)
  3. 缺少完整内容写入:之前的代码只处理了匹配行,其他行都没写入,导致文件内容丢失
  4. 输出文件命名不规范:用临时文件的方式更稳妥,避免文件命名冲突

特殊情况适配:

如果你的HTML文件里的标签是转义后的格式(比如示例里的&lt;head&gt;),只需要把判断条件和插入内容改成转义版本:

if "%%v"=="&lt;head&gt;" (
    echo    &lt;script src="*.js"&gt;&lt;/script>>>"%%f.tmp"
)

把这个BAT脚本放在你的HTML文件目录下,双击运行就完成啦!

内容的提问来源于stack exchange,提问作者M K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:40:27