【问题标题】:increment the version number and current date in a file增加文件中的版本号和当前日期
【发布时间】:2014-08-27 06:10:36
【问题描述】:

我需要使用批处理脚本增加文件中特定行中的版本号,版本看起来像1.0.0.00:01. 增量仅适用于":01",我想更新同一文件中的当前日期另一条线。 请帮我解决这个问题

【问题讨论】:

  • 是1.0.0.00:01 始终是该行的内容。带有日期的行看起来如何?什么是日期格式?他们总是在同一个行号吗?你能提供一个示例文件的内容吗?
  • 我的文件将是这样的: script=01 Date=year.month.date minorversion=1.0.0.00:01 当我触发构建时,我需要输出为: script=02 Date=currentdate次要版本=1.0.0.00:02
  • 而且内容总是一样的@npocmaka

标签: windows batch-file version


【解决方案1】:

您可以使用

遍历您的文件
for /f "tokens=1,2 delims==" %%a in (file.txt) do (
  if "%%a"=="minorversion" (
    for /f "tokens=1,2 delims=:" %%x in ("%%b") do (
      set /a incr=%%y+1
      ...

然后从那里拿走它。主要的是,您可以将每个单独的外部 for 循环拆分为键和值,然后按照您的需要处理这些值。

【讨论】:

  • 这是我的脚本@echo off>newfile&setlocal enabledelayedexpansion :: 在这里设置你的日期。它可能与我的格式不匹配,因此您需要进行调整: set dt=%date:~10,4%.%date:~7,2%.%date:~4,2% for /f "skip =2 tokens=2,3 delims==:" %%a in ("filename") do ( set v= %%b set v= !v: 0=! set /a v+=1 set v=0!v !set v=!v:~-2! >>newfile echo SCRIPT=!v! >>newfile echo BuildDates=%dt% >>newfile echo Version=%%a:!v! goto :aa ) :aa more + 3 "文件名" >> newfile del "文件名" ren newfile "文件名"
猜你喜欢
  • 2020-06-24
  • 2018-09-25
  • 2018-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多