Показать полную графическую версию : [решено] получить хэш единственного iso файла с неизвестным именем в папке
Добрый день.
Собственно сабж
Есть папка d:\Folder
В ней может быть только один iso файл с именем которое не известно, надо получить хэш этого файла.
Для известного имени всё ясно, а как написать батник чтобы он сначала из находил имя файла и его подставлял в certutil для вычисления хэша?
certutil -hashfile d:\Folder\test.iso SHA256 >d:\Folder\hash.txt
только один iso файл »
dir /a-d/b "d:\Folder\*.iso"|set /p name=^& call certutil -hashfile "%%name%%" SHA256>hash.txt
DJ Mogarych
21-03-2021, 08:41
Или в Powershell, где certutil не нужен:
(Get-FileHash (dir "d:\Folder\*.iso").FullName).hash
dir /a-d/b "d:\Folder\*.iso"|set /p name=^& call certutil -hashfile "%%name%%" SHA256>hash.txt »
работает если создать батник и положить его в d:\Folder\ а если батник переместить в другое место то в файл выгружается:
CertUtil: -hashfile команда НЕ ВЫПОЛНЕНА: 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND)
CertUtil: Не удается найти указанный файл.
как исправить чтобы можно было из любого места запускать?
странно, путь ведь указан полностью
а что показывает так:
@echo on
dir /a-d/b "d:\Folder\*.iso"|set /p name=^& call certutil -hashfile "%%name%%" SHA256
pause
да, действительно как-то странно работает
вот так работает правильно
@echo off
pushd "D:\Folder"
for /f "delims=" %%a in ('dir /a-d/b "*.iso"') do certutil -hashfile "%%a" SHA256>file.txt
popd
pause
Степановгорбунов@vk
30-05-2025, 12:58
да, действительно как-то странно работает
вот так работает правильно
Код:
@echo off
pushd "D:\Folder"
for /f "delims=" %%a in ('dir /a-d/b "*.iso"') do certutil -hashfile "%%a" SHA256>file.txt
popd
pause »
На виндовс 10 ver 22H2 выдает ошибку: Системе не удается найти указанный путь.
Запусквл и от пользователя и от админа, все равно выдает ошибку!
Помогите с проблемой.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.