Удалить белые интервалы из команды оболочки - PullRequest
0 голосов
/ 15 октября 2018

Я разрабатываю сценарий оболочки, который выполняет команду и возвращает строку контрольной суммы.В этой строке каждая гекса отделяется пробелами, что я хотел бы удалить и иметь, например, 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 Ответ

0 голосов
/ 17 октября 2018

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

Наконец-то найдено решение:

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%
...