Имя: Пароль:
IT
Админ
добавка к файлу текстовой контрольной суммы MD5 (bat файл)
,
0 vde69
 
23.07.22
10:39
нужно к текстовому файлу добавить строку (что-бы вышло примерно так)

>>>последняя строка в файле, далее с новой строки добавка:
MD5SUM: 2b3ccb1f5a76ee8e5a0fdbecb94b1d3f

пытаюсь делать так

%echo=off
chcp 1251
D:
cd D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\

copy D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\control\control D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS
echo MD5SUM: >>D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS

>>>>>>>>>>>>>>>>>>> здесь не хватает переноса строки в начале и пробела в конце

md5=($(md5sum D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\MajorDoMo_20220721_arm_001.zpkg))
echo $md5 >>D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS

>>>>>>>>>>>>>>>>>>> это вообще не работает, вроде должно но нет....
1 vde69
 
23.07.22
11:43
почти получилось

chcp 1251
D:
cd D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\
del /Q D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS

echo MD5SUM: >D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS.1
CertUtil -hashfile D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\MajorDoMo_20220721_arm_001.zpkg MD5 | find /i /v "md5" | find /i /v "certutil" >D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS.2
copy /B D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\control\control + /B D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS.1 + /B D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS.2 D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS

результат (лишний перевод строки, как его победить?):
-------------------------------------------
Package: MajorDoMo
Version: 20220721zypkg001
Description: Сервер умного дома MajorDoMo.
Depends:
Size: 200000
Installed-Size: 250000
Architecture: arm
Zy-Model: all
IsBuiltin: N
Filename: MajorDoMo_20220721_arm_001.zpkg
MD5SUM:
2b3ccb1f5a76ee8e5a0fdbecb94b1d3f
2 Кирпич
 
23.07.22
11:56
3 Кирпич
 
23.07.22
11:59
или свой exe сляпать. там уж извращайся как хошь
4 vde69
 
23.07.22
12:21
победил, сделал просто отдельный файл без переноса строки вместо :

echo MD5SUM: >D:\Проекты\MajorDomo\Сборка_для_NAS326\сборка\ZYPKGS.1
5 alarm2020
 
23.07.22
12:27
(0) Зачем такие извращения? Есть же объект платформы ХешированиеДанных.
6 vde69
 
23.07.22
12:32
(5) к 1с это не имеет отношение
7 Кура-Цеце
 
23.07.22
13:43
(1) Если по феншую, то примерно так:

echo off

set txtfile=D:\123\123.txt
set binfile=D:\123\123.bin

for /f "usebackq skip=1" %%i in (`CertUtil -hashfile "%binfile%" MD5`) do (

    rem Предположим, что текстовый файл не завершается переносом строки. Добавим свой.
    echo.>>%txtfile%

    rem Добавим хеш
    echo MD5SUM:%%i>>%txtfile%

    goto :hashadded
)
:hashadded
8 СеменовСемен
 
23.07.22
15:35
Для продвинутых скриптов лучше уж питон какой установить
9 arsik
 
гуру
23.07.22
16:16
Забудьте бат. Есть же православный повершелл.
10 Кура-Цеце
 
23.07.22
21:17
(9) > православный повершелл
Со своим строгим церковнославянским синтаксисом
11 arsik
 
гуру
25.07.22
08:21
(10) Шо? По мне очень удобен, ну уж в 10 раз удобнее bat или cmd.
12 ДедМорроз
 
25.07.22
08:43
Удобнее vbscript,на нем и расчет md5 легко написать можно.
13 PLUT
 
25.07.22
10:49
а чо бы не home assistant в докер?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший