Вход | Регистрация
 
Информационные технологии :: Администрирование

Кто в VBS или CMD/BAT спец? Подскажите как сделать hex2byte

Кто в VBS или CMD/BAT спец? Подскажите как сделать hex2byte
Я
   Брудвар
 
26.09.17 - 20:55
Нужно написать прогу которая может прочитать с диска файл in.hex в котором в hex формате хранятся данные, например:
A0E20F327F45 и так далее. Просто символы от 0 до F

Потом нужно эти данные преобразовать в соответствующие байты и записать в другой файл out.bin

Вроде все просто, но я не нашел готового решения, а сам в этих языках программирования вообще не шарю.

Есть тут специ по данным видам программирования?
   Aleksey
 
1 - 26.09.17 - 20:58
что значит "преобразовать в соответствующие байты"
   H A D G E H O G s
 
2 - 26.09.17 - 20:59
1000 рублей/час. Обращайтесь.
   Филиал-msk
 
3 - 26.09.17 - 21:00
(0) https://www.google.ru/search?q=hex2bin
Татарин, он, Еврейчику программу найти поможет, как же...
   Fram
 
4 - 26.09.17 - 21:05
(0) тупо переименовать файл не пробовал?
   Брудвар
 
5 - 26.09.17 - 21:08
(1) Это когда два шестнадцатеричных символа занимают 8 бит в файле.
   Fram
 
6 - 26.09.17 - 21:12
   Fram
 
7 - 26.09.17 - 21:14
наверно этот больше подойдет http://tomeko.net/online_tools/hex_to_file.php?lang=en
   Брудвар
 
8 - 26.09.17 - 21:15
(6) Во, точно. Так должны преобразовываться hex в символы.
Только нужно чтобы из файла бралось и в файл записывалось.
   Брудвар
 
9 - 26.09.17 - 21:18
(7) Но только не онлайн. Там где скрипт работает нет интернета. Нужно именно скриптовым языком написать программу, которая будет работать на голом виндовсе без дополнительных компиляторов и интерпретаторов.
То есть чтобы я мог сесть за компьютер, и напечатать программу. Портов для флэшек и дисководов тоже нет.
   Fram
 
10 - 26.09.17 - 21:18
(8) угадай где я взял эти ссылки?
   Брудвар
 
11 - 26.09.17 - 21:19
(10) Даже не знаю. В интернете чтоли?
   Fram
 
12 - 26.09.17 - 21:20
(11) держи готовое решение, лентяй
https://stackoverflow.com/questions/20422595/hex-to-binary-using-vbscript
   Fram
 
13 - 26.09.17 - 21:28
(12)+ а вот как читать/писать файлы
https://stackoverflow.com/questions/854975/how-to-read-from-a-text-file-using-vbscript

соединяй
   Брудвар
 
14 - 26.09.17 - 21:29
(12) Спасибо, но я уже сам что-то подобное написал:
strString = ""
strHex ="74657374"

For i=1 To Len(strHex) / 2
    strString = strString + Chr("&H" + Mid(strHex, i * 2 - 1, 2))
Next

WScript.Echo strString

Только это не в файл пишется, а на экран. Придется еще изучать как с файлами работать, а мне это никогда больше не пригодится, поэтому трачу время впустую
   quest
 
15 - 26.09.17 - 21:30
твойСкрипт твоеЧислоДляПреобразования > файлКоторыйНужен
   Fram
 
16 - 26.09.17 - 21:32
(14) Все работы хороши, все профессии важны (c)
   Сияющий в темноте
 
17 - 26.09.17 - 21:58
Scripting FileSystemObject
читаем два символа,получаем код одного,через  Chr его в символ и Write в файл
   Брудвар
 
18 - 28.09.17 - 09:08
(17) Третий день уже делаю прогу, не могу понять что не так:

strHex = "417364D4FBE2"
upperBound = CInt(Len(strHex) \ 2) - 1
ReDim bytes(upperBound)
For i = 0 To upperBound
  bytes(i) = Chr(CInt("&h" & Mid(strHex, i * 2 + 1, 2)))
Next
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1
BinaryStream.Open
BinaryStream.Write bytes
BinaryStream.SaveToFile "bin.txt", 2

Выдает ошибку что что-то с типами.
Кто шарит в этом дурацком бейсике? Подскажите как исправить
   htwor
 
19 - 28.09.17 - 10:03
Вот здесь написано, что
"You can write binary data if you have binary data to write, but VBScript can't create binary data."
И далее идет ссылка на компоненту, которая должна помочь. Но ссылка не работает.
Так что пора переходить на powershell.
http://computer-programming-forum.com/8-vbscript/bdeab3aadc03790e.htm
   Брудвар
 
20 - 28.09.17 - 10:43
(19) Я и так уже убил три дня на изучение бейсика. Предлагаешь начать все заново?
   Брудвар
 
21 - 28.09.17 - 13:19
Up
   Брудвар
 
22 - 28.09.17 - 13:39
?
   Tateossian
 
23 - 28.09.17 - 13:50
   1dvd
 
24 - 29.09.17 - 09:27
писал такое на турбо пасскале лет 20 назад
   Брудвар
 
25 - 30.09.17 - 10:49
(24) Это не возможно. Турбо паскаля нет в винде
   Сияющий в темноте
 
26 - 30.09.17 - 10:59
Так exe файл,который делает турбо паскаль,прекрасно без него запускается
   NorthWind
 
27 - 30.09.17 - 12:43
(0) бат можно отмести сразу. VBS вряд ли справится с записью бинарного файла... если только ADODB.Stream попробовать, но не уверен, потому что VBS не умеет работать с указателями, а чтобы писать бинарку, надо передать указатель на данные. Я бы сделал на Delphi/C/C++.
   NorthWind
 
28 - 30.09.17 - 12:45
(25) есть, только называется по-другому. Delphi Compiler. Ну или, если напрягает вопрос лицензионной чистоты, то Lazarus.
   Брудвар
 
29 - 30.09.17 - 17:09
(26) Только этот файл неоткуда взять.
(27) VBS может записывать бинарные файлы, но есть проблемы с созданием бинарных массивов.
(29) Delphi Compiler нету, Lazarus тоже
   NorthWind
 
30 - 30.09.17 - 17:43
(29) VBS их записывать не может точно, он штатно работает только с текстовыми файлами. Работать с бинарями может объект ADODB.Stream, входящий в библиотеку Microsoft ADO, который, в свою очередь, можно подключить из VBS. Но поскольку VBS не имеет прямого доступа к памяти - непонятно, как передать в ADODB.Stream ссылку на данные, которые необходимо записать. И есть опасение, что таки никак не передадите.
 
 
   NorthWind
 
31 - 30.09.17 - 17:44
+ (29) ну, нету - скачайте да поставьте. Лазарус - это свободное ПО, вы ничего этим не нарушите.
   NorthWind
 
32 - 30.09.17 - 17:46
кроме того, вам он нужен только на той машине где вы будете делать свою программу. Потом скомпилируете ее в автономный исполняемый файл и отнесете на машину, где она будет работать. Лазарус там уже не будет нужен.
   NorthWind
 
33 - 30.09.17 - 17:51
(19) а повершелл умеет из переменной в памяти бинарь на диск записать? Я чет не уверен.
   Sserj
 
34 - 30.09.17 - 18:18
(29) А какая у тебя система?
Так часто упоминаешь что неоткуда нечего взять, хотя в винде уже с winXP кажется всегда есть нетовские компиляторы.
Вот у меня на win10
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe - компилятор C# сразу после установки системы.
Т.е на более ранних системах только v4.0.30319 может быть другая ну и вместо Framework64 - Framework.
Т.е. компялторв C# есть, а на нем гораздо проще найти готовый пример.
   Woldemar177
 
35 - 30.09.17 - 18:40
C++ в первых главах Страуструп рассказывает как это сделать.

ЗЫ не надо ему дельфи.
   Woldemar177
 
36 - 30.09.17 - 18:43
Сдается мне у ТС все гораздо проще, это можно сделать, просто он всю часть задачи не рассказывает.
   Брудвар
 
37 - 30.09.17 - 19:09
(31) Если бы можно было скачивать, я бы так не извращался.
   Брудвар
 
38 - 30.09.17 - 19:10
(32) Нельзя ничего отнести на ту машину. Писал уже. Можно только написать с нуля.
   Брудвар
 
39 - 30.09.17 - 19:13
(34) Windows Server 2016 Datacenter
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
Да, есть такой файл. Ахахахха! Круто! Спасибо, выручил.
   Брудвар
 
40 - 30.09.17 - 19:15
(33) Ну тут советовали что типа он умеет.
   Мэс33
 
41 - 30.09.17 - 19:34
http://hex2bin.sourceforge.net/
И батник, который вызывает
hex2bin -b xxxx.hex
   Брудвар
 
42 - 30.09.17 - 20:32
(41)не читатель. Нельзя скачивать. Нужно написать.
   Woldemar177
 
43 - 30.09.17 - 20:59
(42) Да у нас здесь опять студент биздельник и лентяй. Безобразие.
   Мэс33
 
44 - 30.09.17 - 21:29
(42) и кому это надо сегодня? И зачем? Студент что ли?)
   Мэс33
 
45 - 30.09.17 - 21:45
   Брудвар
 
46 - 30.09.17 - 23:08
(44) Писал уже в (9). Нужно на компе на котором нет доступа к закачке файлов сделать свою прогу которая сможет конвертировать текст в файлы.

Если даже я и студент, то к учебе это не имеет никакого отношения.
   Брудвар
 
47 - 30.09.17 - 23:10
(45) Интересно. Спасибо за ответ.
   Брудвар
 
48 - 04.10.17 - 22:13
(45) На бейсике жутко долго работает.
Что-то с компом у меня странное. Вроде проц 4.2 гигагерца должен быстро обработать, игры же не тормозят, а тут такие затупы на двухмегабайтном файле. Уже несколько минут думает. Проц грузит на 25%.
   NorthWind
 
49 - 04.10.17 - 22:58
(48) так игры и не на интерпретируемом скрипте написаны. Напиши на сях чтение блоками в память, обработку, запись блоками в файл - будет летать.
   Брудвар
 
50 - 05.10.17 - 00:19
(49) Хочешь сказать что интерпретируемые языки в миллион раз медленнее?
   Брудвар
 
51 - 05.10.17 - 00:22
(49) Я писал обработку изображений по 10 мегабайт, попиксельно, на жаваскрипте который выполняется в браузере, и то за секунду скрипт выполнялся.
А тут три строчки кода и два мегабайта в файле до сих пор тупит, уже несколько часов. Правда мелкие файлы на пару килобайт делаются быстро.
   NorthWind
 
52 - 05.10.17 - 06:42
Уже много раз сказано - vbs плохо подходит для работы с двоичными данными. Когда пытаешься натянуть сову на глобус заместо использования подходящего инструмента - скорости ждать не стоит, надо радоваться что вообще работает :) А за то время, сколько висит эта ветка, можно было раза три переписать это на более подходящих языках...
   igorPetrov
 
53 - 05.10.17 - 06:47
(51) "Я писал обработку изображений .... на жаваскрипте"
Звездишь и не чихаешь...
   NorthWind
 
54 - 05.10.17 - 07:02
(53) почему? Это же штатная функция браузерного скрипта и оно вполне может работать быстро, если нет каких-то сильно долгих математических извращений над пикселами.
   Брудвар
 
55 - 05.10.17 - 12:39
(52) Разобрался, мой косяк. Соединял длинные строки. Исправил, теперь работает хорошо.

(54) Чувак по себе судит. Не обращай внимания.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.