用于在文本文件中增加版本的Powershell脚本

用于在文本文件中增加版本的Powershell脚本,powershell,version,versioning,Powershell,Version,Versioning,我有一个文本文件,其中包含一些文本和文件的结尾 “版本”=“1.3.0” 我想增加版本号“Version”=“1.4.0”。 在同一文件中,不影响其他内容 powershell中需要帮助。我假设您可以将文件解析到您在问题中给出的类似内容。此外,我的示例缺少错误处理 例子 结果 “版本”=“1.5.0” 非常感谢@Matt&&@TravisEz13提供的提示。在您的帮助下,这里是另一个工作版本 $Verfile = "C:\Work\Example\versionfile.reg" $fileCo

我有一个文本文件,其中包含一些文本和文件的结尾 “版本”=“1.3.0”

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


powershell中需要帮助。

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

例子 结果 “版本”=“1.5.0”


非常感谢@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

相关报道:你能给我们展示一下你为实现这一目标所做的努力吗?一旦我们看到您的尝试,我们就可以在此过程的基础上进行构建,并展示需要进行哪些更改。现在,这读起来像是一个代码编写请求,它脱离了主题。我们想提供帮助,但希望您先尝试一下。文件的格式是什么?文本在文件中的显示方式是这样的吗?@Antony,我查过了,文本文件只有一个版本,没有其他版本。在我的例子中,还有一些其他文本。@Matt,它的“fileName.reg”,但我们可以将其视为普通文本文件。里面有这样的东西:Windows注册表编辑器版本5.00[HKEY\U LOCAL\U MACHINE\SOFTWARE\application][HKEY\U LOCAL\U MACHINE\SOFTWARE\somename]“data”=“C:\\ProgramData\\name\\somename”=“data”=“C:\\ProgramData\\name\\somename”[HKEY\U LOCAL\U MACHINE\SOFTWARE\somename]“Version”=“1.3.0”我试过你的代码。我得到的方法调用失败,因为[System.Version]不包含名为“new”的方法。在C:\Work\scripts\versionupdate.ps1:13 char:35+$newVersionString=[version]::new中,我已将示例更新为使用V5之前的PowerShell。
$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