所以现在我在Powershell工作,正在使用我的第一个哈希表。因此,对于我的代码,我有一个变量来获取文件的元数据,我希望该变量通过哈希表来缩短元数据。例如,我正在使用的文件是版本v2.0.50727,我想变成“lib \ net20”我知道我现在的设置不起作用,我想我需要做一个子串来得到我的东西我想但我不知道如何设置它。
$retCode = 0
write-verbose "Getting version of $file..."
$version = (Get-Item $File).VersionInfo.FileVersion
$id = $file.Substring(0, $File.LastIndexof('.'))
$filepath = Get-ChildItem "$File"
$netVer = ildasm /text $File| findstr Metadata
$OriginalFilename = (Get-Item $File).VersionInfo.OriginalFilename
#Some type of substring to turn v2.0.50727 into 2.0
$netVerConv = @{2.0 = "lib\net20";}
我认为我需要某种类型的foreach循环但我真的不知道这里。最终哈希表看起来像这样
$netVerConv = @{
2.0 = "lib\net20";
3.0 = "lib\net30";
3.5 = "lib\net35";
4.0 = "lib\net40";
}
答案 0 :(得分:1)
试试这个:
$file = 'C:\windows\explorer.exe'
$version = (Get-Item $file).VersionInfo
$ShortVer = '{0}.{1}'-f $version.FileMajorPart,$version.FileMinorPart
$ShortVer
6.1