您的位置:首页 > Web前端

Get-ManifestInfo

2015-09-21 20:59 295 查看
function Get-ManifestInfo
{
[CmdletBinding(SupportsShouldProcess = $true)]
param
(
[Parameter(Mandatory = $true,
ValueFromPipeline = $true,
Position = 1)]
$ManifestFile
)

Begin
{
}
Process
{
if ($pscmdlet.ShouldProcess("Target", "Operation"))
{

Trap
{
Write-Host $_.Exception.Message;
Continue
}
# 不是所有的文件都能转换成 XML 的

[xml] $pkg = Get-Content "$ManifestFile"
[string[]]$name = $pkg.assembly.dependency.dependentAssembly.assemblyIdentity.name
[string[]]$version = $pkg.assembly.dependency.dependentAssembly.assemblyIdentity.version
[string[]]$language = $pkg.assembly.dependency.dependentAssembly.assemblyIdentity.language
[string[]]$processorArchitecture = $pkg.assembly.dependency.dependentAssembly.assemblyIdentity.processorArchitecture
[string[]]$publicKeyToken = $pkg.assembly.dependency.dependentAssembly.assemblyIdentity.publicKeyToken

[string[]]$language = ConvertTo-ShortId($language)
$result = @()
for ($i = 0; $i -lt $name.Count; $i++)
{
if ($name[$i].length -gt 40) { $name[$i] = $name[$i].Substring(0, 19) + ".." + $name[$i].substring($name[$i].Length - 19) }
$search = $processorArchitecture[$i] + "_" + $name[$i] + "_" + $publicKeyToken[$i] + "_" + $version[$i] + "_" + $language[$i]
$result0 = dir -path $path -Filter "$search`*" -directory -Name

if ($result0) { $result += $result0 }
else { $result += $search }
}
}
}
End
{
$result
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: