' ' - Execute from command line: wscript FileToBASE64.vbs ' ' - Reads file from arguments ' - Encodes file's byte array to Base64 string ' - Saves BASE64 ascii representation to disk ' ' - Anastasios Monachos - anastasiosm@gmail.com ' Option Explicit Dim arguments, inFile, outFile ' getting file as argument Set arguments = WScript.Arguments inFile = arguments(0) outFile = inFile & "_base64.txt" Dim inByteArray, base64Encoded, fileToWriteBASE64 inByteArray = readBytes(inFile) base64Encoded = encodeBase64(inByteArray) saveToFile(base64Encoded) Wscript.echo "Base64 encoded data saved to : " + outFile private function readBytes(file) dim inStream set inStream = WScript.CreateObject("ADODB.Stream") inStream.Open ' open with no arguments makes the stream an empty container inStream.type= 1 '1 means type is Binary inStream.LoadFromFile(file) readBytes = inStream.Read() end function private function encodeBase64(bytes) dim DM, EL Set DM = CreateObject("Microsoft.XMLDOM") Set EL = DM.createElement("tmp") ' Create temporary node with Base64 data type EL.DataType = "bin.base64" EL.NodeTypedValue = bytes ' Set bytes, get encoded String encodeBase64 = EL.Text end function private function saveToFile(dataInASCII) Set fileToWriteBASE64 = CreateObject("Scripting.FileSystemObject").OpenTextFile(outFile,2,true) '2 means ForWriting fileToWriteBASE64.WriteLine(dataInASCII) fileToWriteBASE64.Close Set fileToWriteBASE64 = Nothing end function