BorlandIMHO
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору pressF Цитата: Конструкция, правда, будет громоздкая... И скрипт придётся в файле сохранять... | Криво-косо, обрабатываются только файлы {"допилить" для папок можно, но особого смысла не вижу} и в не очень больших количествах (ограничения на длину командной строки). 1. cmd-файл по адресу %USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo с именем "Hash to clipboard.cmd" Код: pwsh -File "c:\Scripts\SHA512_clip.ps1" %* | 2. Пош-скрипт "c:\Scripts\SHA512_clip.ps1" {Может, в принципе, лежать где угодно, но чем короче полное имя тем лучше: больше остаётся для обрабатываемых файлов} Код: $Result=@() foreach ($arg in $Args) {$Result+=$(get-item -LiteralPath $arg | Select-Object Name,Length,@{N='Size';E={"$($_.Length/1MB) Mib, $($_.Length/1000000) Mb"}},@{N='SHA512';E={(Get-FileHash -LiteralPath $_.FullName -Algorithm SHA512).Hash.ToLower()}})} $Result | Sort-Object -Property Name,Length | Format-List | Out-string | Set-Clipboard | Выделяете файлы для обработки, из контекстного меню Отправить->Hash to Clipboard Отлаживалось на пош 7, но вроде там нет ничего, что не заработало бы на 5.1.... (Добавлено) Да, работает на 5.1. (на самом деле - начиная с 3.0) Заодно аптемезиравал SHA512_clip.ps1: Код: $Args.ForEach({get-item -LiteralPath $_ | Select-Object Name,Length,@{N='Size';E={"$($_.Length/1MB) Mib, $($_.Length/1000000) Mb"}},@{N='SHA512';E={(Get-FileHash -LiteralPath $_.FullName -Algorithm SHA512).Hash.ToLower()}}}) | Sort-Object -Property Name,Length | Format-List | Out-string | Set-Clipboard |
| Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 09:28 19-07-2023 | Исправлено: BorlandIMHO, 11:18 19-07-2023 |
|