gpt4 book ai didi

html - 如何使用 .bat 脚本在 HTML 文件中显示日期

转载 作者:行者123 更新时间:2023-12-05 00:38:38 24 4
gpt4 key购买 nike

我有一个 .html 文件 titlepage.html包含以下行:

<span class="titlepage modified">Modified: Feb 13, 2020 </span>

问题是,有时我忘记更改“修改:”日期

我运行一个 .bat 文件来移动这个 titlepage.html到正确的位置,所以我认为在 .bat 文件中添加一个子例程以在移动日期之前更新日期是有意义的。

我当前的 .bat 文件如下所示:

@echo off
setlocal enabledelayedexpansion

set infile=titlepage.html
set outfile=result.html
Set find=Modified:
set replace="<span class="titlepage modified">Modified: %DATE% </span>"

del result.html

for /F "tokens=1,2 delims=" %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
echo !TMPR!>>%outfile%
)

我的相关行看起来像: <span class="titlepage modified">"<span class="titlepage modified">Modified: 04/10/20 </span>" Feb 13, 2020 </span>

因此它成功输入了我想要的信息,但我需要它来替换有问题的整行,而不仅仅是我用于查找的部分。

*注意日期是任意的,所以我无法对整行执行查找。

所以我想: 1.查找包含字符串的行 2. 用我的新输入替换整行。

提前致谢。

最佳答案

@echo off
setlocal enabledelayedexpansion

set "target=./titlepage.html"
set "destination=./titlepage.html"
set "find=(?mi)^.*Modified:.*$"
set "replace=<span class=\"titlepage modified\">Modified: %DATE% </span>"

powershell -noprofile -command^
$content=get-content -path '!target!';^
$result=$content -replace '!find!', '!replace!';^
set-content -path '!destination!' -value $result

powershell 读取目标 ./titlepage.html,进行替换并写入目标 ./titlepage.html

正则表达式模式在一行中搜索 Modified:find 变量包含模式并使用选项 (?mi)m 是多行模式,i 不区分大小写。如果您想要不区分大小写,请删除 i

正则表达式模式:

  • (?mi) 正则表达式选项。 m 是多行的,i 不区分大小写。
  • ^ 默认情况下,匹配必须从字符串的开头开始;在多行模式下,它必须从行的开头开始。
  • . 通配符:匹配除\n 之外的任何单个字符。
  • * 匹配前一个元素零次或多次。
  • $ 默认情况下,匹配必须出现在字符串的末尾或字符串末尾的\n之前;在多行模式下,它必须出现在行尾之前或行尾的\n 之前。

替换字符串:

  • \" 将命令行解析的嵌套双引号转义为 powershell

查看Regular Expression Language - Quick Reference获取更多信息。

powershell 命令行尾的 ^ 是续行。

关于html - 如何使用 .bat 脚本在 HTML 文件中显示日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61145640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com