2017-10-26 16 views
0

こんにちはacrobatでは、私たちの監視システム用のスクリプトを作成するために、xバージョンIDをサポートしています。if文でフォルダ名の一部を取得するpowershellスクリプト

$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を持っている:

は現在、私は持っている\プログラムファイル(x86の)\はAdobe \ Acrobatの2017と C:\プログラムファイル(x86の)\はAdobe \ Acrobat ReaderがDC。

複数のバージョンがありますので、読者のdcフォルダ以外のすべてを除外する必要があります。 誰かがこれについて良いハックを知っていますか?

は期待:私はまたしていくつかのオプションを試してみました

$acrobatversion = Get-Childitem "C:\Program Files (x86)\Adobe\Acrobat*" | Select-Object @{Name="Name"; Expression = {$_.Name}} 
$acrobatversion 

しかし、それはちょうど2つのアクロバットフォルダ

+0

の可能性のある重複した[どのようには、Get-ChildItemコマンドレット-excludeを使用して複数のフォルダを除外することができますか?](https://stackoverflow.com/questions/15294836/how-can-i-exclude-multiple-folders-using -get-childitem-exclude) – Manu

+0

ファイルまたはディレクトリで[System.IO] .Netクラスライブラリを使用することを検討しましたか?ほとんどのWindowsインストールには、ネイティブOSの一部としてライブラリが含まれています。 – codemaker

答えて

1

を参加、その後、フォルダアクロバット* excistが、そのアクロバットないリーダーDC、場合Readerのインストールに関する情報はUninstall registry keysで確認できます。その後、Where-Objectでフィルタリングして、クラシックトラックのインストールのみを行います。

$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 
+0

私にこれを分かち合ってくれてありがとう、あなたたちがこれをやることができて涼しいよ、私は愚かな気分かもしれないけど、訓練に従う時間だよ。 しかし、Acrobat Reader 2017フォルダのexcist中にスクリプトは出力されなかった。たぶんそのanotheyキーは、明日見ています – IIIdefconIII

+0

Reader2017はアンインストールのレジストリキーの方法に従っていません。彼らはインストーラに関する素晴らしい文書をたくさん持っています – TheIncorrigible1

+0

@ TheIncorrigible1それは規約でも方法でもありません。 Readerインストーラの両方のトラックは、.msiベースです。更新プログラムは.mspです。私はちょうどテストインストールの出力を示した...それはレジストリキー 'HKEY_LOCAL_MACHINE¥SOFTWARE¥WOW6432Node¥Microsoft¥Windows¥CurrentVersion¥Uninstall¥{AC76BA86-7AD7-FFFF-7B44-AE1108756300}'を作る – BenH

関連する問題