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