일괄 적으로 base64 디코딩
배치를 사용하여 설치 프로그램을 만들려고합니다. 물론 설치 프로그램은 설치할 파일로 구성되어야하므로 base64로 파일을 인코딩하고 간단히 디코딩하여 대상에 기록 할 수 있습니다.
물론 Windows base64
에 Linux 상자에 포함 된 도구 와 같은 것이 있다면 내 작업은 매우 쉬울 것 입니다. 그러나 단순히 거기에 있지 않기 때문에 배치 파일을 사용하여 base64 콘텐츠를 완전히 디코딩하는 방법이 있습니까? 그리고 이것을 어떻게 성취 할 수 있습니까?
도움을 주시면 감사하겠습니다.
(실험 일 뿐이 라 비 효율성 등은 걱정하지 않습니다.)
실제로 Windows에는 base64를 인코딩하고 디코딩하는 유틸리티가 있습니다.-CERTUTIL
이 명령을 도입 한 Windows 버전을 잘 모르겠습니다.
파일을 인코딩하려면 :
certutil -encode inputFileName encodedOutputFileName
파일을 디코딩하려면 :
certutil -decode encodedInputFileName decodedOutputFileName
CERTUTIL에 사용할 수있는 동사와 옵션이 많이 있습니다.
사용 가능한 거의 모든 동사 목록을 얻으려면 :
certutil -?
특정 동사에 대한 도움말을 보려면 (예 :-인코딩) :
certutil -encode -?
거의 모든 동사에 대한 완전한 도움말을 얻으려면 :
certutil -v -?
불가사의는 -encodehex
동사에 표시되지 certutil -?
나 certutil -v -?
. 그러나 certutil -encodehex -?
. 또 다른 편리한 기능입니다 :-)
최신 정보
David Morales의 주석과 관련하여, 머리글이나 바닥 글 줄없이 base64 문자열을 만들 수 있는 동사 에 대한 문서화 된 유형 옵션 이 잘못되었습니다-encodehex
.
certutil [Options] -encodehex inFile outFile [type]
유형 1은 머리글 또는 바닥 글 줄없이 base64를 생성합니다.
사용 가능한 유형 형식에 대한 간략한 목록은 https://www.dostips.com/forum/viewtopic.php?f=3&t=8521#p56536 을 참조 하십시오 . 사용 가능한 형식에 대한 자세한 내용은 https://www.dostips.com/forum/viewtopic.php?f=3&t=8521#p57918을 참조 하십시오 .
조사되지는 않았지만 -decodehex
동사에는 선택적 후행 유형 인수도 있습니다.
다음은 base64를 인코딩하는 base64encode.bat라는 배치 파일입니다.
@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%
참고 URL : https://stackoverflow.com/questions/16945780/decoding-base64-in-batch
'developer tip' 카테고리의 다른 글
RESTful API 런타임 검색 기능 / HATEOAS 클라이언트 디자인 (0) | 2020.10.15 |
---|---|
객체의 속성 중 최소 / 최대 값을 얻는 빠른 방법 (0) | 2020.10.14 |
클래스 확장 React.Component는 React에서 getInitialState를 사용할 수 없습니다. (0) | 2020.10.14 |
jQuery UI 대화 상자에서 '제목'을 업데이트하는 방법은 무엇입니까? (0) | 2020.10.14 |
iPhone Store Kit "iTunes Store에 연결할 수 없습니다" (0) | 2020.10.14 |