- Вопрос или проблема
- Общая команда для открытия UWP приложения
- Быстрое решение
- Общие шаги
- [1]: Получите Application Id
- [2]: Получите PackageFamilyName
- [3]: Откройте приложение
- Ответ или решение
- Как открыть приложение Windows Store (UWP) из командной строки
- Общая команда для открытия UWP-приложений
- Быстрое решение с помощью функции PowerShell
- Общие шаги для открытия 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.