- Файловая система
- Регулярные выражения
- Базы данных
- Двоичные данные
- Полезные функции

Чтение и запись двоичных файлов.
Двоичные (они же бинарные) файлы отличаются от текстовых тем, что могут состоять из произвольного набора байтов. Как правило, бинарные файлы имеют четко оговоренную структуру и не предназначены для непосредственного редактирования человеком. Тем не менее, для просмотра, анализа и правки бинарных файлов опытными пользователями используются различные шестнадцатиричные редакторы. Для чтения и записи бинарных файлов с помощью VBScript используется объект ADODB.Stream c параметром Type = adTypeBinary.
Примечание: объект ADODB.Stream можно использовать и для работы с текстовыми файлами, для этого используется параметр Type = adTypeText (выставляется по умолчанию при создании объекта).
Для чтения всего бинарного файла используем следующую функцию:
Function readBinaryFile(fPath)'возвращает байтовую строку - содержимое бинарного файла'
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.getFile(fPath)
Set binStream = CreateObject("ADODB.Stream")
binStream.Type = adTypeBinary
Call binStream.Open()
Call binStream.LoadFromFile(file)
readBinaryFile = binStream.Read()
Call binStream.Close()
End Function
Для записи целого бинарного файла на диск используем функцию:
Sub writeBinaryFile(fPath, blob)'пишет blob в бинарный файл'
Set binStream = CreateObject("ADODB.Stream")
binStream.Type = adTypeBinary
Call binStream.Open()
Call binStream.Write(blob)
Call binStream.SaveToFile(fPath, adSaveCreateOverWrite)'rewrite'
Call binStream.Close()
End Sub
Пример (загружаем файл в память, выводим размер и записываем его в текущей директории):
Const fName = "cscript.exe"
fPath = "C:\Windows\System32\" & fName
WScript.Echo "Reading file " & Chr(34) & fPath & Chr(34)
blob = readBinaryFile(fPath)'получаем содержимое файла
WScript.Echo "Blob length: " & LenB(blob) & " bytes"'выводим размер полученного файла на экран
WScript.Echo "Creating new file.."
Call writeBinaryFile(fName, blob)'создаем файл в текущей директории
WScript.Echo "File was created in the current directory"
WScript.Echo "The End"