Удалить белые интервалы из команды оболочки

Я разрабатываю сценарий оболочки, который выполняет команду и возвращает строку контрольной суммы. В этой строке каждая гекса разделена пробелами, что я хотел бы удалить, и иметь, например, 4AA512 вместо 4A A5 12 в качестве вывода команды, но я не могу найти решение, которое работает. Вот сценарий:

for /f  "delims=" %%f in ('dir %~dp0*.zip /b') do (
    echo %%~f:
    for /f "delims=" %%a in ('certUtil -hashfile "%~dp0%%~f" SHA512 ^| find /i /v "SHA512" ^| find /i /v "certUtil"^') do (
          echo %%a:' '=''%
        )

    set /a counter += 1
    echo.
 )

У кого-нибудь есть решение?

Спасибо!

1 ответ

Решение

(ответ перешел от вопроса / комментария к - хорошо - ответу)

Наконец-то получили решение:

set counter=0
for /f  "delims=" %%f in ('dir %~dp0*.zip /b') do (
    echo %%~f:
    for /f "delims=" %%a in ('certUtil -hashfile "%~dp0%%~f" SHA512 ^| find /i /v "SHA512" ^| find /i /v "certUtil"^') do (call :ShowChecksum "%%a")
    set /a counter += 1
    echo.
)

echo %counter% files(s) found.
pause
exit

:ShowChecksum
set "checksum=%~1"
set "checksum=%checksum: =%"
echo %checksum%
Другие вопросы по тегам