powershell脚本,用于使用if语句获取文件夹名称的一部分
大家好,acrobat放弃了对x版本的支持,我想为我们的监控系统制作一个脚本 目前我有:powershell脚本,用于使用if语句获取文件夹名称的一部分,powershell,Powershell,大家好,acrobat放弃了对x版本的支持,我想为我们的监控系统制作一个脚本 目前我有: $FullFolderPath = 'C:\Program Files (x86)\Adobe Reader DC'; $FolderName = (Split-Path $FullFolderPath -Leaf).ToString(); $DashIndex = $FolderName.IndexOf('Re'); $FolderNameFromDashToEnd = $FolderName.SubSt
$FullFolderPath = 'C:\Program Files (x86)\Adobe Reader DC';
$FolderName = (Split-Path $FullFolderPath -Leaf).ToString();
$DashIndex = $FolderName.IndexOf('Re');
$FolderNameFromDashToEnd = $FolderName.SubString($DashIndex);
$ADDC = "Reader DC"
if (($ADDC) -notcontains $FolderNameFromDashToEnd){
Write-Host "End of Support $adobeversion"
Exit 1010
}
else {
Write-Host "Adobe $FolderNameFromDashToEnd"
Exit 0
}
但我两者都有
C:\Program Files x86\Adobe\Acrobat 2017和
C:\ProgramFilesx86\Adobe\Acrobat Reader DC
有多个版本,所以我需要排除除reader dc文件夹以外的所有版本。
有人知道这方面的好方法吗
预期:如果文件夹acrobat*exist但不是acrobat reader dc,则:
我还尝试了以下几种选择:
$acrobatversion = Get-Childitem "C:\Program Files (x86)\Adobe\Acrobat*" | Select-Object @{Name="Name"; Expression = {$_.Name}}
$acrobatversion
但它只需登记两个acrobat文件夹即可,您可以查看以获取有关读卡器安装的信息。然后使用Where对象进行过滤,以便只安装经典曲目
$ReaderClassicTrackInstalls = @((Get-ChildItem HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\), (Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\)) |
ForEach-Object {
Get-ItemProperty ($_ -replace 'HKEY_LOCAL_MACHINE', 'HKLM:') |
Where-Object {$_.displayname -like "Adobe Acrobat Reader*" -and $_.displayname -notlike '*DC'}
}
$ReaderClassicTrackInstalls |
Select-Object InstallLocation, DisplayVersion
您是否考虑过将[System.IO].Net类库与文件或目录一起使用?大多数Windows安装都包含作为本机操作系统一部分的库。感谢您与我共享此库,很酷,你们可以这样做,我觉得很愚蠢,也许是时候进行培训了,但脚本不起作用,在Acrobat Reader 2017文件夹运行时没有输出。也许它的Anothes键,明天会看一看,Order2017没有遵循卸载注册表键的方法。他们的网站上有很多很棒的文档installers@TheIncorrigible1这不是惯例或方法。读卡器安装程序的两个轨道都基于.msi。更新是.msp的。我刚刚展示了一个测试安装的输出。。。它使注册表项HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{AC76BA86-7AD7-FFFF-7B44-AE1108756300}。。。