(Сценарий) Последние Git для Windows с использованием PowerShell или CMD? - PullRequest
0 голосов
/ 07 марта 2020

Как загрузить последнюю версию Git for Windows, используя cmd или powershell ? (или другое встроенное windows программное обеспечение)

В настоящее время у меня есть скрипт, чтобы проверить, является ли Windows x32 or x64:

# eq is equal
# ne is not equal
if ((gwmi win32_operatingsystem | select osarchitecture).osarchitecture -ne "64-bit")
{
    #32 bit logic here
    Write "32-bit OS"
Read-Host -Prompt "Press Enter to continue"
}
else
{
    #64 bit logic here
    Write "64-bit OS"
Read-Host -Prompt "Press Enter to continue."
}

Заранее спасибо!

1 Ответ

1 голос
/ 07 марта 2020

Самый простой подход - использовать chocolatey на целевой машине. После установки Chocolatey просто:

choco install git

загружает и устанавливает git для windows. Сначала проверьте сайт пакета , была ли упакована последняя версия. Иногда может потребоваться несколько дней после выпуска новой версии, прежде чем это произойдет.


Если вы ищете способ ручной загрузки последней версии с github, вы можете использовать github api .

Сначала определите название ресурса, который вы хотите загрузить. Они перечислены здесь: https://github.com/git-for-windows/git/releases/latest. Интересующие вас активы выглядят так:

Git-2.25.1-64-bit.exe
Git-<version>-<architecture>.exe 

Теперь получите страницу, на которую вы только что смотрели, как json объект. Github api сделает это за вас: https://api.github.com/repos/git-for-windows/git/releases/latest

Наконец найдите там свой актив и перейдите по ссылке для скачивания на Invoke-WebRequest.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$architecture = '64-bit'
$assetName = "Git-*-$architecture.exe"

$gitHubApi = 'https://api.github.com/repos/git-for-windows/git/releases/latest'
$response = Invoke-WebRequest -Uri $gitHubApi -UseBasicParsing
$json = $response.Content | ConvertFrom-Json
$release = $json.assets | Where-Object Name -like $assetName

Invoke-WebRequest $release.browser_download_url -OutFile ".\$($release.name)"

Примечание : В зависимости от масштаба, в котором вы хотите использовать это, вы должны знать, что github api допускает только 60 вызовов в час, если вы не авторизованный пользователь: https://developer.github.com/v3/#rate -limiting

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