본문 바로가기
Windows

[Windows] PowerShell > http 링크된 파일 다운로드 후 리네임 및 버전 비교

by 앗사비 2015. 5. 29.
728x90

http 링크된 파일 다운로드 후 파일명에 버전 정보 추가하는 스크립트 (PowerShell 2.0 기준)

이렇게 만들고 보니 웹브라우저 띄우지 않고 버전 확인까지 가능해서 개이득

한결 편해졌다

$source = "http://~~~test.exe"
$destination = "c:\~~~\test.exe"
$client = new-object System.Net.WebClient
$client.DownloadFile($source, $destination)
$version = (Get-Item $destination).VersionInfo.FileVersion
Rename-Item $destination test_$version.exe


+ 추가) 로컬에 설치된 버전과 비교하기

$source = "http://~~~test.exe"
$setupname = "setup.exe"
$curruntDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$Destination = "$curruntDir\$setupname"
$client = new-object System.Net.WebClient
$client.DownloadFile($source, $Destination)
$version = (Get-Item $Destination).VersionInfo.FileVersion

# option : [0] -> first line
$LocalVersion = (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -eq 'Test App'}).DisplayVersion[0]

IF ($version -le $LocalVersion)
{
"download file is old or same version"
Remove-Item $Destination
}
ELSE
{
"run upgrade!!"
}

728x90