Вход | Регистрация


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

Кто в 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 человек.
Рекламное место пустует