【问题标题】:Have a variable run through a hash table in Powershell在 Powershell 中通过哈希表运行变量
【发布时间】:2015-02-15 02:44:29
【问题描述】:

所以现在我正在使用 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";
        }    

【问题讨论】:

    标签: powershell hashtable


    【解决方案1】:

    试试这个:

    $file = 'C:\windows\explorer.exe'
    $version = (Get-Item $file).VersionInfo
    
    $ShortVer = '{0}.{1}'-f $version.FileMajorPart,$version.FileMinorPart
    $ShortVer
    6.1
    

    【讨论】:

      猜你喜欢
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 2020-11-30
      相关资源
      最近更新 更多