下面是我在powershell中编写脚本的一部分
$Uri = 'https://codecguide.com/download_k-lite_codec_pack_basic.htm'
$web = Invoke-WebRequest -UseBasicParsing -Uri $uri
( $downloadurl=$web.Links |Where-Object href -Like "*.exe" |Select-Object -First 1 -expand href )
$downloadurl -match "(\d{4,})"
( $latestversion = "$($Matches[1])" )
和$lateestversion
是17.3.0,我怎么能改变这个数字看起来像17.3.0???提前感谢
1条答案
按热度按时间soat7uwm1#
你所要求的是不可能以可靠的方式做到的。当文件以这样一种方式被重命名,版本号点被简单地删除时,人们无法恢复丢失的信息。
正如Mathias所评论的,人们无法区分
1730
的带点版本号与17.3.0
、1.7.30
、1.7.3.0
、173.0
、17.30
或1.73.0
。当你在一个只有4个字符的字符串中填充5个或更多的字符时,你会遇到冲突。这是一个数学事实,请参阅pigeonhole principle以获得进一步的解释。
如果你知道版本遵循一定的模式,那么恢复点是可能的。例如,如果总是有两个数字代表次要版本,一个代表内部版本号,你可以插入丢失的点。但正如前面所说,这需要事先知道的信息。