Скрипт Powershell для поиска конкретной программы, а затем вывод, если он установлен или нет [дублировать]

Angular1

Для людей, которые используют AngularJS , может справиться с этой ситуацией, используя Promises.

Здесь it говорит,

Обещания могут использоваться для отключения асинхронных функций и позволяют объединять несколько функций вместе.

Вы можете найти приятное объяснение здесь .

Пример, найденный в docs , упомянутом ниже.

  promiseB = promiseA.then(
    function onSuccess(result) {
      return result + 1;
    }
    ,function onError(err) {
      //Handle error
    }
  );

 // promiseB will be resolved immediately after promiseA is resolved 
 // and its value will be the result of promiseA incremented by 1.

Angular2 and Later

In Angular2, посмотрите на следующий пример, но его рекомендовал использовать Observables с Angular2.

 search(term: string) {
     return this.http
  .get(`https://api.spotify.com/v1/search?q=${term}&type=artist`)
  .map((response) => response.json())
  .toPromise();

}

Вы можете использовать это таким образом,

search() {
    this.searchService.search(this.searchField.value)
      .then((result) => {
    this.result = result.artists.items;
  })
  .catch((error) => console.error(error));
}

См. здесь оригинал . Но TypScript не поддерживает native es6 Promises , если вы хотите его использовать, для этого вам может понадобиться плагин.

Кроме того, здесь представлены обещания spec определите здесь.

0
задан OysterMaker 18 April 2015 в 00:53
поделиться

2 ответа

Вы не совсем конкретны, что ищете, но это удовлетворит то, что вы предоставили. Отобразите имена для пользователя. Продолжайте запрашивать, пока они ничего не введут. Для каждого матча мы показываем соответствующие результаты пользователю и продолжаем его.

# Gather information
$productDetails =  Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate
# Display teaser information to the user
$productDetails | Select-Object DisplayName


do {
    Write-Host "--McPrompter 5000--" -ForegroundColor Green
    $response = Read-Host "Type a partial software title or <Enter> to quit"

    # If there is text lets see if there is a match
    If($response){
        $results = $productDetails | Where-Object{$_.DisplayName -like "*$response*"}
        If($results){ 
            $results | Format-Table -AutoSize
        } Else {
            Write-Host "No match for $response. Please try again." -ForegroundColor Red
        }
    }
} until (!$response)

Обратите внимание на этот ключ

Поймите, что вам нужно будет проверить ключ syswow64, если система x64 получает список complete . Вы можете найти дополнительную информацию об этом здесь или в Google.

1
ответ дан Matt 6 September 2018 в 05:35
поделиться

В основном вы можете попробовать простые вещи, отобразив список программных продуктов и получив свою логику после выбора.

$Softwares = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |  Select-Object DisplayName, DisplayVersion, Publisher, InstallDate

$Choice = @{}
$Number = 1
foreach ($Software in $Softwares.DisplayName)
{
    $Choice.add($Number,$Software)
    $Number = $Number + 1 
}

$Choice | Format-Table
[Int]$MenuChoice = read-host "Please enter your choice"
Switch($MenuChoice)
{
        1{
            Write-Host "Selected Software is" $Choice.get_item($MenuChoice);
            #Your Logic here
         }
        2{
            #Your Logic here
         }
        default{"please select a valid Software"}
}

Надеюсь, это поможет !!

0
ответ дан Pradebban Raja 6 September 2018 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: