Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powershell脚本,用于使用if语句获取文件夹名称的一部分_Powershell - Fatal编程技术网

powershell脚本,用于使用if语句获取文件夹名称的一部分

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

大家好,acrobat放弃了对x版本的支持,我想为我们的监控系统制作一个脚本

目前我有:

$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}。。。