Вопрос о программе Total Commander, Софт вопросы
27.02.2018 - 21:29 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Добрый вечер форумчанам.. Появилась у меня небольшая необходимость, отловить определённую группу файлов через их поиск, но не по их целевому Имени, а по их Сигнатуре, то есть по их Первым Трём Байтам (которые можно увидеть в любом HEX редакторе).. К примеру мне нужно найти все файлы с расширением *.exe, для этого случая нужно сделать поиск по первым трём байтам в файлах, и найти все совпадения для Решение для такой странной задачи тоже нашёл, с помощью Total Commander, но разобраться как это всё работает так и не смог, прошу у Вас пожалуйста помощи.. Вот что я нашёл.. » Небольшой скрипт, который может быть полезен для поиска файлов с определенной сигнатурой (первые байты в файле). « Code 'signatur.vbs by ricobautsch
'Script for Script Content Plugin (c)Lev Freidin, 2005 'http://www.totalcmd.net/plugring/script_wdx.html 'http://wincmd.ru/plugring/script_wdx.html ' 'Этот скрипт показывает первые 10 байт файла в тектовом или hex представлении 'может быть полезен для поиска файлов с определенной сигнатурой 'This script returns the first 10 bytes in the file as text or hex-representation. 'Could be usefull for example to search for files with a specified signatur
const bHex = True const nCharCnt = 10
Set fso = CreateObject("Scripting.FileSystemObject") Set oTextStream = fso.OpenTextFile(filename)
If not oTextStream.AtEndOfStream Then content_str = oTextStream.Read(nCharCnt) If bHex Then For i=1 To Len(content_str) If content <> "" Then content = content & " " End If hex_value = Hex(Asc(Mid(content_str,i,1))) content = content & string(2 - len(hex_value), "0") content = content & hex_value Next Else content = content_str End If End If
oTextStream.Close Для установки количества отображаемых байт/букв и переключения режимов отображения меняйте константы bHex и nCharCnt»» Нажмите, для закрытия спойлера | Press to close the spoiler «« Так и не понял что с этим нужно сделать, другие источники смотрел, всё равно не ясно, и *.vbs из этого создавал, но на Панель Инструментов тот.командера ни как не перетягивается.. Подскажите пожалуйста что я упустил ?.. Win8 x64; Total Commander Portable | |
| |
27.02.2018 - 22:11 |
Henry723
профи!
[SoftoRooMTeaM]
Группа: СуперМодераторы Сообщений: 29.842 Регистрация: 27.10.2005 Пользователь №: 59.366
Респектов: 7395
| Цитата | Quote(nokeMoH @ 27.02.2018 - 21:52) К примеру мне нужно найти все файлы с расширением *.exe
Я совсем не знаток Total Commander, но поиск по расширению файла встроенная функция в этой программе. Можно посмотреть здесь например И зачем редактор ? | |
| |
27.02.2018 - 22:37 |
Henry723
профи!
[SoftoRooMTeaM]
Группа: СуперМодераторы Сообщений: 29.842 Регистрация: 27.10.2005 Пользователь №: 59.366
Респектов: 7395
| Правильная постановка задачи - 50% ее решения... Попробуй разбить задачу на несколько частей - по расширениям например... Потом можно каждую часть собрать в архив типа rar и устроить поиск внутри архива по заданным критериям... Можно применить программу типа Free Hex Editor Neo и воспользоваться ее встроенным поиском, или найти аналогичную... | |
| |
27.02.2018 - 22:37 |
kostya-chist
профи!
[SoftoRooMTeaM]
Группа: Модераторы Сообщений: 1.211 Регистрация: 20.04.2006 Из: Ростов Великий Пользователь №: 152.532
Респектов: 194
| Цитата | Quote(nokeMoH @ 27.02.2018 - 21:52) Так и не понял что с этим нужно сделать, другие источники смотрел, всё равно не ясно, и *.vbs из этого создавал, но на Панель Инструментов тот.командера ни как не перетягивается.. Подскажите пожалуйста что я упустил ?.. Win8 x64; Total Commander Portable А не пробовали обычный поиск тотала, с установленной галкой "С текстом" (куда вводите любые символы) + галочку поставить на НЕХ-код Ваши сочетание символов у меня тотал находит. P.S. Если я правильно понял автора, то он "потерял" расширение и патается таким способом определить тип файла Сообщение отредактировал kostya-chist - 27.02.2018 - 22:42 | |
| |
27.02.2018 - 23:01 |
Henry723
профи!
[SoftoRooMTeaM]
Группа: СуперМодераторы Сообщений: 29.842 Регистрация: 27.10.2005 Пользователь №: 59.366
Респектов: 7395
| Цитата | Quote(kostya-chist @ 27.02.2018 - 23:00) Если я правильно понял автора, то он "потерял" расширение и патается таким способом определить тип файла В таком случае я бы открыл начальный бэкап в тотал командер в одной половине, а во второй нужный каталог и сравнил бы их по нескольким критериям - мне кажется так бы было быстрей и проще найти нужные файлы по расширениям, имени, датам, размеру и т.д. Или я не прав ? | |
| |
27.02.2018 - 23:27 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Обычный поиск тут не сможет помочь, так как нужно поискать и найти файлы среди тех, что без расширения.. Всё это можно проделать и вручную, просматривая файлы в HEX редакторе, первые три буквы, каждый файл, но времени столько лишнего нету, файлов очень очень много.. С установленной галкой HEX-код, тоже вряд ли получиться, так как мне нужно совпадение исключительно только по первым трём байтам, а не всего файла в целом.. Да, у меня каким-то образом пропали расширения у многих файлов, и я хочу их вернуть, я подключил старый HDD, не знаю как они могли пропасть но их нету, и вирусов нету тоже, сами же файлы все в рабочем состоянии.. тут столько любителей тотала живёт, на многие вопросы оконного сёрфинга всегда советовали именно этот менеджер, не мне, многим на разные вопросы, сейчас думал как быстро подскажут что надо сделать).. Я просто не разбираюсь в этой программе, а тот код, это или Плагин или Скрипт к тоталу, как его прикрутить к самому менеджеру так и не ясно.. | |
| |
27.02.2018 - 23:58 |
Henry723
профи!
[SoftoRooMTeaM]
Группа: СуперМодераторы Сообщений: 29.842 Регистрация: 27.10.2005 Пользователь №: 59.366
Респектов: 7395
| Давай еще раз...
У тебя есть первоначальный каталог - допустим, 1000 файлов с какими-то расширениями... Ты его открываешь в левой части тотал командера и делаешь выборку, скажем, по расширению exe... Допустим, это 200 файлов... Теперь в правой части открываешь всю базу файлов, которую тебе надо проверить, допустим это 2000 файлов, делаешь в ней выборку по тому же расширению exe и у тебя находится условно 300 файлов... Потом в меню находишь команду сравнить каталоги и смотришь это сравнение - все, что одинаково , допустим 180 файлов - вырезаешь и переносишь куда-то (третий диск, папку, каталог), главное, убираешь из поиска с правой части ... Таким образом, по расширению, по имени или части имени можно отфильтровать большую часть файлов... Оставшиеся файлы без расширения нужно искать в первоначальном бэкапе например по имени или по буквам имени типа A*, *A* и сравнивать опять же командой сравнения каталогов ...
Чем меньше будет файлов в искомой базе , тем быстрее и проще найти те файлы, которые неопознанные или без расширения совсем...
Потом когда останутся совсем никак неидентефицируемые - вот только тогда применять HEX редакторы и поиск по байтам ...
Это примерный алгоритм того, насколько я понял задачу... | |
| |
28.02.2018 - 0:34 |
nokeMoH
профи!
Группа: Пользователи Сообщений: 1.076 Регистрация: 23.08.2008 Пользователь №: 1.040.887
Респектов: 124
Предупреждений:
| Henry723, я понимаю о чём вы говорите, но про бекап я ни чего не говорил, мне сравниваться не с чем, у меня всё в единичных экземплярах, все файлы без расширения.. Много много файлов, в одной кучке и без расширения и без бекапа прежних валидных версий.. Мне всего лишь нужно сделать выборку файлов используя какой-нибудь способ, чтобы сравнить их между собой по первым трём байтам, и файлы с одинаковыми первыми тремя байтами переместить в одну папку, файлы с другими одинаковыми первыми тремя байтами в другую папку.. По моему запросу в яндекс, подобную функцию поиска увидел только у тотал.командер, и то, с помощью непонятного для меня Плагина или Скрипта для него, я так и не понял что это был за код, и не совсем понимаю как его использовать для этих целей.. Сообщение отредактировал nokeMoH - 28.02.2018 - 0:35 | |
| |
28.02.2018 - 1:15 |
HugoBo-SS
тут-та-ту
[SoftoRooMTeaM]
Группа: Модераторы Сообщений: 10.906 Регистрация: 3.04.2008 Из: Russia SPb Пользователь №: 827.869
Респектов: 4350
| Цитата | Quote(nokeMoH @ 27.02.2018 - 23:50) Обычный поиск тут не сможет помочь, так как нужно поискать и найти файлы среди тех, что без расширения.. А какая разница? Ищите сигнатуры во всех файлах: В поле "искать файлы": *.*И по-признакам последовательности составьте для поля "с текстом" регулярное выражение: | |
| |
|
|