Декодирование base64 в пакетном режиме
Я пытаюсь сделать установщик с помощью пакета. Конечно, установщик должен состоять из файлов, которые будут установлены, поэтому я думаю о кодировании файлов в base64 и просто декодировать их и записывать их в пункт назначения.
конечно, моя работа была бы очень легко, если бы окна было что-то вроде base64
инструмент, который содержит коробки Linux. Однако, поскольку его просто нет, есть ли способ декодировать содержимое base64 полностью использование пакетных файлов? И как мне это сделать?
любая помощь приветствуется.
(это просто эксперимент, так что я не беспокоюсь о неэффективности и тому подобное.)
2 ответа:
на самом деле Windows имеет утилиту, которая кодирует и декодирует base64-CERTUTIL
Я не уверен, что версия Windows представила эту команду.
для кодирования файла:
certutil -encode inputFileName encodedOutputFileName
для декодирования файла:
certutil -decode encodedInputFileName decodedOutputFileName
существует ряд доступных глаголов и опций, доступных для CERTUTIL.
чтобы получить список почти всех существующих глаголов:
certutil -?
чтобы получить помощь по конкретному глаголу (- кодировать для пример):
certutil -encode -?
чтобы получить полную помощь почти для всех глаголов:
certutil -v -?
мистическим образом,
-encodehex
глагол не указан сcertutil -?
илиcertutil -v -?
. Но это описано с помощьюcertutil -encodehex -?
. Это еще одна удобная функция :-)
вот пакетный файл, называемый base64encode.летучая мышь, которая кодирует в base64.
@echo off if not "%1" == "" goto :arg1exists echo usage: base64encode input-file [output-file] goto :eof :arg1exists set base64out=%2 if "%base64out%" == "" set base64out=con ( set base64tmp=base64.tmp certutil -encode "%1" %base64tmp% > nul findstr /v /c:- %base64tmp% erase %base64tmp% ) > %base64out%