Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - автоматический поиск и замена HEX в файлах

Ответить
Настройки темы
CMD/BAT - автоматический поиск и замена HEX в файлах

Аватара для Tosyk

Старожил


Сообщения: 166
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Tosyk
Дата: 06-12-2010
Описание: испраил второй пункт
Возможно ли такое сделать с помощью cmd? Нужно автоматически поправить HEX большого количества файлов с последующим переименованием.

И вот ещё: как сделать так чтобы такой скрипт работал:

1 - при перетаскивании на него одного/группы файлов
2 - при запуске производился поиск и обработка файлов вглубь по каталогам.

p.s.: иногда нужно не заменить hex, а добавить его в определённое место в файле.

Отправлено: 21:51, 05-12-2010

 

Ветеран


Сообщения: 2196
Благодарности: 727

Профиль | Отправить PM | Цитировать


Цитата greg zakharov:
sov44, про bsdiff\bspacth что-нибудь знаете? bspacth, к слову, в инсталляторе JRE используется даже. »
greg zakharov, не знаком. Пытаюсь применить утилиту Swiss File Knife, но пока безуспешно.

upd. решено
Код: Выделить весь код
@echo off
>nul copy /y autorun.dll out.dll

sfk197.exe rep out.dll -bin /6F00750072006300650073005C00730065007400750070002E00650078006500/6F00750072006300650073005C00730065007400380036002E00650078006500/ -yes

pause
exit

Последний раз редактировалось sov44, 24-10-2020 в 12:11.


Отправлено: 00:10, 23-10-2020 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для m0nkrus

Старожил


Сообщения: 148
Благодарности: 15

Профиль | Сайт | Отправить PM | Цитировать


Задача следующая: у всех файлов в папке удалить первый байт!

Мне уже предложили скрипт на PowerShell. И он даже неплохо работает, пока размер обрабатываемого файла не превышает некую критическую величину около 100 Мб. Там происходит переполнение массива и вылет в ошибку. Поэтому хотелось бы какую-то альтернативу.

DD пробовал - тоже проблема с большими файлами. Вот команда:
Код: Выделить весь код
dd bs=1c skip=1 if="file1" of="file2" --progress
Файл взял на 525 Мб. За те 2 часа, что я ждал завершения операции, было переработано примерно 250 Мб. Все из-за того, что размер блока устанавливается для всего единый. То есть установил я 1 байт для изъятия, вот программа и перерабатывает дальше громадный файл по одному байту....

Есть какие-то более подходящие решения под мой запрос?

Отправлено: 11:07, 04-11-2021 | #32


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


m0nkrus, вышеуказанный Swiss File Knife download | SourceForge.net не рассматривали?

Отправлено: 11:23, 04-11-2021 | #33


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1226
Благодарности: 513

Профиль | Отправить PM | Цитировать


Цитата m0nkrus:
пока размер обрабатываемого файла не превышает некую критическую величину около 100 Мб. »
Для того, чтобы такого не происходило, есть разные способы чтения файлов... например, потоковое чтение io.streamreader, вполне возможно считывать файл размером и больше гигабайта, не говоря уже про мегабайты...

Что-то типа:
Код: Выделить весь код
$file = 'test.tst'
$out = 'out.tst'
$reader = [io.streamreader]::new($file)
$writer = [io.streamwriter]::new($out)
$reader.basestream.position = 1
while ($reader.basestream.position -lt $reader.basestream.length){
	$writer.basestream.writebyte($reader.basestream.readbyte())
}
$reader.basestream.close()
$writer.basestream.close()
- можно там попытаться ускорить чтение-запись, но это уже зависит от задачи... насколько часто требуется, если разовая - вполне будет достаточно и такого варианта, только прикрутить чтение каталогов и работу со списком файлов, если же часто - то можно поломать голову, как ускориться

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 04-11-2021 в 12:20.


Отправлено: 11:38, 04-11-2021 | #34


Аватара для m0nkrus

Старожил


Сообщения: 148
Благодарности: 15

Профиль | Сайт | Отправить PM | Цитировать


Iska, не очень представляю, какой синтаксис мне в этой этой программе мог бы помочь...


YuS_2, я честно скажу: я сам лично в PowerShell ни в зуб ногой. Вот скрипт, вашего же, кстати, производства, что я сейчас использую: http://forum.oszone.net/post-2956811.html#post2956811
Если сможете порекомендовать, как его усовершенствовать, чтобы он работал и с большими файлами, я буду только рад! Только давайте тогда в той теме и продолжим. Здесь все-таки шел запрос на CMD /BAT.

P.S. Задача не разовая, увы. Поэтому и задалбывает каждый раз выдергивать из массива большие файлы, чтобы в них вручную через HxD срезать этот чертов байт, после чего возвращать их назад, пытаясь не ошибиться в дереве папок.

Отправлено: 13:54, 04-11-2021 | #35


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1226
Благодарности: 513

Профиль | Отправить PM | Цитировать


Цитата m0nkrus:
Только давайте тогда в той теме и продолжим. »
смотрите в той теме...

-------
scio me nihil scire. Ѫ


Отправлено: 18:36, 04-11-2021 | #36


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


неужели никто не смотрел
https://stackoverflow.com/questions/...g-dds-textures
2
ссылки
оттуда:


бат файлы и кмд не потянут а по какой нибудь из приведенных неаерняка просто есть решение на высоком уровне без копания в хексе
...

All these links are related to reading and converting DDS image.

https://github.com/Dahie/DDS-Utils

http://www.javaworld.com/javaworld/j...43.html?page=1

http://www.omg.org/spec/DDS-Java/1.0/Beta2/

https://www.java2s.com/Open-Source/J...xture.java.htm

http://code.google.com/p/java-dds/

http://nuicode.svnrepository.com/svn...Converter.java

http://www.guyford.co.uk/showpage.ph..._Image_in_JOGL

Отправлено: 05:49, 06-11-2021 | #37



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - автоматический поиск и замена HEX в файлах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Сравнение и замена в файлах .txt Deep2007 Скриптовые языки администрирования Windows 4 19-11-2010 19:08
Autoit работа в hex поиск offset'а aktivizion AutoIt 3 14-03-2010 21:29
C/C++ - Поиск текста в файлах student_po Программирование и базы данных 6 04-09-2009 23:33
Замена одной фразы в разных файлах Punsher Программное обеспечение Linux и FreeBSD 3 11-03-2008 13:24
Пакетная замена в html-файлах y3ep Программное обеспечение Windows 7 11-06-2004 08:06




 
Переход