Как открыть приложение Windows Store (UWP приложение) из командной строки

Вопрос или проблема

Если я перечислю все приложения, установленные из PowerShell (Get-AppxPackage | Select Name, PackageFullName), я получу большой список. Есть ли способ запустить эти приложения из командной строки или PowerShell, просто чтобы посмотреть, что это за приложения?

Например, я хочу запустить (только из cmd или powershell или диалога выполнения) “Microsoft.Windows.PeopleExperienceHost” или “Microsoft.ZuneMusic”

Общая команда для открытия UWP приложения

Вы можете открыть приложения с помощью команды:
explorer "shell:AppsFolder\<PackageFamilyName>!<Application Id>"


Быстрое решение

Вот функция для открытия UWP приложений по их имени. Она пытается использовать каждый Application Id из файла AppxManifest.xml. Вы можете перечислить имена с помощью команды Get-AppxPackage | Select Name. Затем создайте функцию в вашей сессии PowerShell с помощью команды ниже.

Function Open-UwpApp($PackageName) {
    $PackageFamilyName = (Get-AppxPackage -Name $PackageName).PackageFamilyName
    $PackageInstallLocation = (Get-AppxPackage -Name $PackageName).InstallLocation
    $PackageIds = Get-ChildItem -Path $PackageInstallLocation -Include "*AppxManifest.xml*" -Recurse | Select-String -Pattern '(?<=\<Application Id=").*?(?=")' -AllMatches | Select-Object -ExpandProperty Matches | Select-Object -ExpandProperty Value
    ForEach ( $PackageId in $PackageIds) {
        explorer.exe "shell:AppsFolder\$PackageFamilyName!$PackageId"
    }
}

После этого вы можете открыть приложение с помощью команды Open-UwpApp "<PackageName>".

Пример: Open-UwpApp "Microsoft.WindowsStore"


Общие шаги

[1]: Получите Application Id из файла AppxManifest.xml приложения.

[2]: Получите свойство PackageFamilyName с помощью команды Get-AppxPackage.

[3]: Выполните команду (замените правильные значения): explorer "shell:AppsFolder\<PackageFamilyName>!<Application Id>"


[1]: Получите Application Id

  • Используя команду, которую вы предоставили: Get-AppxPackage | Select Name, PackageFullName, вы нашли имя пакета Microsoft.ZuneMusic.
  • Используйте это, чтобы найти свойство InstallLocation с помощью команды:
Get-AppxPackage "<PackageName>" | Select InstallLocation
  • Получите путь к AppxManifest.xml используя InstallLocation, который в этом примере оказался C:\Program Files\WindowsApps\Microsoft.ZuneMusic_11.2409.11.0_x64__8wekyb3d8bbwe:
Get-ChildItem -Path "<InstallLocation>" -Include "*AppxManifest.xml*" -Recurse | Select FullName
  • Либо откройте XML файл в приложении, либо используйте следующую команду для извлечения Application Id. В этом примере путь к файлу был <InstallLocation>\AppxManifest.xml. Также может быть более одного идентификатора приложения. Если первый не сработает, попробуйте следующий. Первый сработал для всех моих тестов:
Get-Content "<XMLFilePath>" | Select-String "Application Id" -Context 0,0
  • Это должно показать идентификатор приложения: Microsoft.ZuneMusic

[2]: Получите PackageFamilyName

Get-AppxPackage "<PackageName>" | Select PackageFamilyName
  • ApplicationPackageName: Microsoft.ZuneMusic_8wekyb3d8bbwe

[3]: Откройте приложение

explorer "shell:AppsFolder\<PackageFamilyName>!<Application Id>"

Что в этом примере переводится так:

explorer "shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic"
  • Также обратите внимание, что вы можете открыть приложение, используя команду Выполнить. Просто уберите “explorer” из команды. Кавычки нужны только если в пути есть пробел, а в этих путях, похоже, этого не происходит.
shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic

Ответ или решение

Как открыть приложение Windows Store (UWP) из командной строки

Если вы хотите запустить приложения UWP (Universal Windows Platform) из командной строки или PowerShell, это возможно сделать несколькими способами. В этой статье мы подробно рассмотрим шаги, необходимые для открытия таких приложений, как "Microsoft.Windows.PeopleExperienceHost" или "Microsoft.ZuneMusic".

Общая команда для открытия UWP-приложений

Чтобы запустить UWP-приложение, вы можете использовать следующую команду в командной строке (CMD) или PowerShell:

explorer "shell:AppsFolder\<PackageFamilyName>!<Application Id>"

Быстрое решение с помощью функции PowerShell

Вы можете создать функцию для упрощения процесса открытия UWP-приложений. Ниже приведен пример такой функции:

Function Open-UwpApp($PackageName) {
    $PackageFamilyName = (Get-AppxPackage -Name $PackageName).PackageFamilyName
    $PackageInstallLocation = (Get-AppxPackage -Name $PackageName).InstallLocation
    $PackageIds = Get-ChildItem -Path $PackageInstallLocation -Include "*AppxManifest.xml*" -Recurse | Select-String -Pattern '(?<=<Application Id=").*?(?=")' -AllMatches | Select-Object -ExpandProperty Matches | Select-Object -ExpandProperty Value
    ForEach ( $PackageId in $PackageIds) {
        explorer.exe "shell:AppsFolder\$PackageFamilyName!$PackageId"
    }
}

После создания функции вы можете вызывать ее следующим образом:

Open-UwpApp "<PackageName>"

Например:

Open-UwpApp "Microsoft.ZuneMusic"

Общие шаги для открытия UWP-приложений

[1]: Получите идентификатор приложения (Application Id)

Для получения идентификатора приложения вам нужно сначала выяснить, какие пакеты установлены. Вы можете использовать следующую команду:

Get-AppxPackage | Select Name, PackageFullName

После того как вы нашли нужное приложение, используйте команду для нахождения его пути установки:

Get-AppxPackage "<PackageName>" | Select InstallLocation

Затем найдите путь к AppxManifest.xml:

Get-ChildItem -Path "<InstallLocation>" -Include "*AppxManifest.xml*" -Recurse | Select FullName

Теперь вы можете извлечь идентификатор приложения:

Get-Content "<XMLFilePath>" | Select-String "Application Id" -Context 0,0

Это должно вернуть идентификатор приложения, например, Microsoft.ZuneMusic.

[2]: Получите имя семейства пакетов (PackageFamilyName)

Чтобы узнать имя семейства пакетов, выполните:

Get-AppxPackage "<PackageName>" | Select PackageFamilyName

Например, имя семейства пакетов может выглядеть так: Microsoft.ZuneMusic_8wekyb3d8bbwe.

[3]: Откройте приложение

Используйте следующую команду, подставив нужные значения:

explorer "shell:AppsFolder\<PackageFamilyName>!<Application Id>"

В приведенном выше примере команда будет выглядеть так:

explorer "shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic"

Также стоит отметить, что вы можете запустить приложение через диалоговое окно "Выполнить". Для этого просто уберите explorer из команды:

shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic

Заключение

Запуск UWP-приложений из командной строки или PowerShell может быть очень полезным для быстрого доступа к приложениям. Используйте приведенные инструкции для открытия любимых приложений без необходимости искать их в меню "Пуск". Таким образом, вы улучшите свою продуктивность и упростите работу с Windows.

Оцените материал
Добавить комментарий

Капча загружается...