Мне нужен пакетный скрипт, чтобы переименовать все файлы в папке, их строчные эквиваленты, с их хешем SHA1, добавленным в конце после подчеркивания.
Пример:
У меня есть файл с именем: "Windows8.1-KB2862152-x86.cab", его хеш-код является "bc44b5c4daca0fb2a7b596bafb3d751231983c0e", поэтому мне нужно переименовать его в: windows8.1-kb2862152-x86_bc44b5b2b3bb5 в нижнем регистре.
У меня есть огромное количество этих файлов, которые мне нужны в этом формате.
Я должен также упомянуть, что у меня есть инструмент SHA1 из IBM Endpoint Manager(sha1.exe), который используется следующим образом:
sha1 [-r|-s|-m|-b] <filename> [-c]
-r: Calculate Size/Sha1 and print out a prefetch style statement for 6.0+ style downloads (use this normally).
-s: Sha1 only.
-m: Sha1 in MIME format (hex-encoded and base-64).
-b: Calculate Size/sha1 and print out a prefetch block statment for 7.2+ style downloads.
-c: Puts the result string into you paste buffer so you don't need to copy/paste out of the command window.
У меня есть следующий скрипт, который я нашел на этом сайте, но получаю "Синтаксис команды неверен"
@ECHO OFF
SET FULLNAME=%~f1
for /f "delims=" %%a in ('sha1.exe -s %FULLNAME%') do SET hash=%%a
ren %FULLNAME% %FULLNAME%_%hash%
очевидно, он вызывается: для% A IN (C:\PathToFolder *) DO C:\SomeFolder\hasher.bat "% A", однако это также не поможет при переименовании в нижнем регистре, и я думаю, что оно потеряло бы расширение файла ,