|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Массовое определение контрольных сумм файлов |
|
PowerShell - Массовое определение контрольных сумм файлов
|
Старожил Сообщения: 184 |
Добрый день! Хочу в папке Windows всем exe файлам определить контрольные суммы (в дальнейшем и не только в Windows). Через PowerShell:
param ( [string]$FolderPath, # c:\windows [string]$LogFile = "c:\1\checksums.log" ) if (-Not (Test-Path $FolderPath)) { Write-Host "Путь не найден: $FolderPath" exit } $files = Get-ChildItem -Path $FolderPath -Recurse -Filter *.exe $logFileStream = New-Object System.IO.StreamWriter($LogFile, $false) foreach ($file in $files) { try { $hash = Get-FileHash -Path $file.FullName -Algorithm SHA256 $logEntry = "{0} {1}" -f $hash.Hash, $file.FullName $logFileStream.WriteLine($logEntry) Write-Host "Контрольная сумма для $($file.FullName): $($hash.Hash)" } catch { Write-Host "Ошибка при обработке файла $($file.FullName): $_" } } $logFileStream.Close() Write-Host "Результаты сохранены в $LogFile" Цитата:
Цитата:
|
|||
Отправлено: 13:19, 28-12-2024 |
(*.*) Сообщения: 36570
|
Профиль | Сайт | Отправить PM | Цитировать DJ Mogarych, значит исправили
|
------- Отправлено: 19:54, 29-12-2024 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 184
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
Цитата:
|
||
Отправлено: 02:31, 30-12-2024 | #12 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать Напишите правильно строку с Checksum, сейчас у вас одна половина из одного варианта, а вторая - из другого.
|
------- Отправлено: 08:54, 30-12-2024 | #13 |
Старожил Сообщения: 232
|
Профиль | Отправить PM | Цитировать Самый простой вариант:
# Укажите путь к папке $folderPath = "C:\MyFolder" # Выберите алгоритм хеширования (MD5, SHA1, SHA256) $hashAlgorithm = "SHA256" # Получите список файлов в папке $files = Get-ChildItem -Path $folderPath -File # Переберите все файлы и вычислите контрольную сумму foreach ($file in $files) { # Вычислите контрольную сумму с помощью выбранного алгоритма $hash = Get-FileHash -Algorithm $hashAlgorithm -Path $file.FullName # Выведите информацию о файле и его контрольной сумме Write-Host "Файл: $($file.Name)" Write-Host "Контрольная сумма ($hashAlgorithm): $($hash.Hash)" Write-Host "" } |
Отправлено: 19:16, 31-12-2024 | #14 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать Uragan66, выше писали о том, что Get-FileHash недоступен на древних операционках.
|
------- Отправлено: 19:30, 01-01-2025 | #15 |
Ветеран Сообщения: 1758
|
Цитата Uragan66:
|
|
Отправлено: 10:14, 03-01-2025 | #16 |
fascinating rhythm Сообщения: 6690
|
Профиль | Отправить PM | Цитировать Foreigner, работает и в 5.1.
|
------- Отправлено: 11:46, 03-01-2025 | #17 |
Crazy Сообщения: 1232
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
но, это если ТС-у ещё нужно, до сих пор. ![]() |
|
------- Отправлено: 13:59, 03-01-2025 | #18 |
Новый участник Сообщения: 17
|
Прежде всего Get-FileHash является функцией, код которой вполне можно подсмотреть:
Однако копировать её код, в надежде "портировать" под XP, идея заведомо обречённая на провал, так как PowerShell второй версии, которая является пределом для XP, отличается рантайм либой. Поэтому придётся писать нечто вроде: $a = [Security.Cryptography.SHA256]::Create() -join$a.ComputeHash([IO.File]::ReadAllBytes("$env:windir\explorer.exe")).ForEach{$_.ToString('x2')} $a.Dispose() |
Отправлено: 20:56, 03-01-2025 | #19 |
Старожил Сообщения: 184
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
|
|
Отправлено: 15:55, 04-01-2025 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Массовое переименование файлов | Super_Kolobok | Скриптовые языки администрирования Windows | 4 | 19-05-2024 16:28 | |
Программы для сверки контрольных сумм | KaSpieC 666 | Хочу все знать | 17 | 16-12-2014 18:39 | |
CMD/BAT - Сравнение контрольных сумм md5 | vodka | Скриптовые языки администрирования Windows | 11 | 09-01-2013 07:11 | |
Прочие - Программы для подсчёта контрольных сумм файлов | ALEXEY_DFD | Программное обеспечение Windows | 14 | 18-11-2011 15:30 | |
C/C++ - Получение контрольных сумм файлов (MD5, и т.д.) и их проверка в Online-сервисах | Drongo | Программирование и базы данных | 49 | 30-08-2010 18:39 |
|