:: Не фоксом единым
Задача на обновление файла через PowerShell
ssa
Автор

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Мопед не мой, я только объявление разместил

Дано:
Файл текущей версии c:\folder1\file.exe
Файл новой версии d:\folder2\file.exe

Задача:
Скриптом windows powershell обновить первый файл вторым если второй файл новее первого. Сравнение предпочтительнее производить по данным структур FileVersion из обрабатываемых файлов.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Задача на обновление файла через PowerShell
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
social.technet.microsoft.com


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Задача на обновление файла через PowerShell
ssa
Автор

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Большой спасиб от хозяина мопеда.
Заодно и сам глянул сие чудо. Теперь могу писать, что знаком с PowerShell


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Задача на обновление файла через PowerShell
ssa
Автор

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Пришлось таки мне поковыряться. Ибо владелец мопеда таки не въехал идеологию PowerShell'а и не смог сделать рабочий скрипт со своими данными.
Результат таков:
[string]$src = "Y:\IT\File.exe"
[string]$dst = $env:TMP + "\File.exe"
$srcversion = [version](Get-Command $src).FileVersionInfo.FileVersion
if ($(test-path $dst)) {
#$srcversion
$dstversion = [version](Get-Command $dst).FileVersionInfo.FileVersion
#$dstversion
if (-not $srcversion -lt $dstversion) {
# write-host "File version numbers are equal"
}
else {
# write-host "File version numbers are not equal"
Copy-Item -LiteralPath $src -Destination $dst -Force
}
}
else {
#write-host "File not exists"
Copy-Item -LiteralPath $src -Destination $dst -Force
}

Кстати, писалось и отлаживалось в Visual Studio Code, новом программерском редакторе от MS, который мне очень даже понравился. Хотя для PS есть родная IDE и что из них лучше я пока не понял.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 11 (Гостей: 11)

© 2000-2024 Fox Club 
Яндекс.Метрика