【问题标题】:Powershell script to increment version in a text file用于增加文本文件中的版本的 Powershell 脚本
【发布时间】:2016-10-18 06:31:52
【问题描述】:

我有一个包含一些文本和文件结尾的文本文件 "版本"="1.3.0"

我想增加内部版本号“版本”=“1.4.0”。 在同一个文件中,不影响其他内容。

请在 powershell 中提供帮助。

【问题讨论】:

  • 您能向我们展示您尝试完成的一些事情吗?一旦我们看到您已经尝试过什么,我们就可以在此流程的基础上进行构建,并展示需要进行哪些更改。现在,这看起来像是一个跑题的代码编写请求。我们想提供帮助,但您应该先尝试过。
  • 文件是什么格式,究竟文本在文件中的显示方式是什么?
  • @Antony,我检查了,文本文件只有版本没有别的。就我而言,还有一些其他的文字。
  • @Matt,它的“fileName.reg”,但我们可以将其视为普通文本文件。里面是这样的: Windows 注册表编辑器版本 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\application ] [HKEY_LOCAL_MACHINE\SOFTWARE\something] "data"="C:\\ProgramData\\somename" [HKEY_LOCAL_MACHINE\SOFTWARE\someothername] "data"=" C:\\ProgramData\\name\\somename " [HKEY_LOCAL_MACHINE\SOFTWARE\some name] "Version"="1.3.0"

标签: powershell version versioning


【解决方案1】:

我假设您可以将文件解析到您在问题中给出的类似内容的程度。此外,我的示例缺少错误处理。

示例

$fileContents =  '"Version"="1.4.0"'

$parts=$fileContents.Split('=')
$versionString = $parts[1].Replace('"','')
$version = [Version]$versionString
$newVersionString = (New-Object -TypeName 'System.Version' -ArgumentList @($version.Major, ($version.Minor+1), $version.Build)).ToString()
$fileContents.Replace($versionString,$newVersionString)      

结果

"版本"="1.5.0"

【讨论】:

  • 我试过你的代码。我的方法调用失败,因为 [System.Version] 不包含名为“新”的方法。在 C:\Work\scripts\versionupdate.ps1:13 char:35 + $newVersionString = [version]::new
  • 我已更新示例以使用 Pre-V5 PowerShell。
【解决方案2】:

非常感谢@Matt && @TravisEz13 的提示。在您的帮助下,这是另一个工作版本。

$Verfile = "C:\Work\Example\versionfile.reg"
$fileContents  = (Get-Content $Verfile | Select -Last 1)

$parts=$fileContents.Split('=')
$versionString = $parts[1].Replace('"','')
$version = [Version]$versionString
$newVersionString = (New-Object -TypeName 'System.Version' -ArgumentList @($version.Major, ($version.Minor+1), $version.Build)).ToString()
(gc $Verfile) -replace "$versionString", "$newVersionString" | sc $Verfile

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 2018-09-25
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    相关资源
    最近更新 更多