Тест файлов или Запуск MD5 с панели инструментов
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Тест файлов или Запуск MD5 с панели инструментов
Здравствуйте. Сбросил себе на флешку в целях переносного использования Total Commander 7.50a плюс кое-какие portable программы с ним для нормальной работы на чужих компьютерах. По работе приходится запускать тотал на многих компах, некоторые из которых, понятное дело, кишат вирусами. Архивирование и восстановление Акронисом важных файлов, конечно, помогает, но решил перестраховаться, чтобы в случае чего не переносить заразу с одного компа на другой. Подсчитал контрольную сумму системных файлов и полученный файл md5 сбросил в одну из системных папок на флешке. При запуске этого файла происходит проверка CRC указанных в нем файлов и сравнение с записанными значениями. Расхождения в CRC считаются ошибкой и файлы выделяются красным.
В связи с этим хотел бы спросить, каким образом можно привинтить к панели инструментов ссылку на этот файл? При двойном щелчке в Total файл запускается и что надо проверяет, но напрочь отказывается запускаться по ссылке, даже если эта ссылка командеровская. Каждый раз заходить в папку с файлом неудобно, а с панели не запускается. Думаю, дело в команде запуска. Как должна она выглядеть? Пробовал:
%COMMANDER_DRIVE%\[path]\program_files.md5
Результат: "Программа не запускается!"
totalcmd.exe "%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: "Файл не найден!"
Хождения по Интернету и справке к Тоталу мне дали сведения, что якобы за запуск md5 отвечает команда cm_crccheck. Исходя из этого пробовал следующие варианты:
"%COMMANDER_DRIVE%\[path]\program_files.md5" cm_crccheck
Результат: "Программа не запускается!" То же самое, если без кавычек.
totalcmd.exe /cm_crccheck "%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: "Файл не найден!"
cm_crccheck "%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: Проверка контрольной суммы того, что под курсором.
cm_crccheck /"%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: Аналогично. То же самое, если без кавычек и черты.
Может быть есть в командере какая-нибудь утилита, через которую надо запускать файл? Может быть, нужны еще какие-то дополнительные параметры?
В связи с этим хотел бы спросить, каким образом можно привинтить к панели инструментов ссылку на этот файл? При двойном щелчке в Total файл запускается и что надо проверяет, но напрочь отказывается запускаться по ссылке, даже если эта ссылка командеровская. Каждый раз заходить в папку с файлом неудобно, а с панели не запускается. Думаю, дело в команде запуска. Как должна она выглядеть? Пробовал:
%COMMANDER_DRIVE%\[path]\program_files.md5
Результат: "Программа не запускается!"
totalcmd.exe "%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: "Файл не найден!"
Хождения по Интернету и справке к Тоталу мне дали сведения, что якобы за запуск md5 отвечает команда cm_crccheck. Исходя из этого пробовал следующие варианты:
"%COMMANDER_DRIVE%\[path]\program_files.md5" cm_crccheck
Результат: "Программа не запускается!" То же самое, если без кавычек.
totalcmd.exe /cm_crccheck "%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: "Файл не найден!"
cm_crccheck "%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: Проверка контрольной суммы того, что под курсором.
cm_crccheck /"%COMMANDER_DRIVE%\[path]\program_files.md5"
Результат: Аналогично. То же самое, если без кавычек и черты.
Может быть есть в командере какая-нибудь утилита, через которую надо запускать файл? Может быть, нужны еще какие-то дополнительные параметры?
Дело в том, что при выборе в контекстном меню команды "Открыть" вылезает традиционное виндовское окно с вопросом, какой программой открывать. Хотя по Enter-у или двойному клику запускается.
Может следует написать bat-ник (хотя опять же неизвестно, как прикрутить к нему командеровские пути) или скрипт? Правда в скриптах я не силен.
Может следует написать bat-ник (хотя опять же неизвестно, как прикрутить к нему командеровские пути) или скрипт? Правда в скриптах я не силен.
А как насчёт такого предложения?: создать колону с подсчётом md5-хэш с помощью конт. плагина wdhash, выделить нужные файлы, сохранить содержимое колонок в файл по команде cm_SaveDetailsToFile(A|W), и потом сохранять их при проверке и сравнивать с исходным файлом инструментом сравнения.
Flasher, спасибо, конечно, но все дело в том, что ввиду отсутствия времени необходимо проделывать сравнение быстро, одним-двумя действиями. То, что Вы мне предлагаете, все равно вручную надо делать, а мне надо автоматически. Так бы можно было бы просто каждый раз искать и запускать из папки program_files.md5.
Лишние действия, имхо. Если только опять к скрипту дело не сводится.
Лишние действия, имхо. Если только опять к скрипту дело не сводится.
Вариант с тремя действиями.arch31 писал(а):одним-двумя действиями
Рядом с кнопкой "Назад" создать кнопку с командой
Код: Выделить всё
%COMMANDER_PATH%\totalcmd.exe /O /S /L=Путь\Файл.md52 Нажать клавишу Enter дважды.
3 Нажать кнопку "Назад".
Код: Выделить всё
TOTALCMD#BAR#DATA
%comspec% /c chcp 1251>nul&
rhash.exe -c --ansi %P%N &pause
%COMMANDER_PATH%\WCMICONS.DLL,55
Check crc file
-1
Если контролируемые файлы находятся не в текущей папке, пути в crc-файле д.б. соответствующие.
RHash здесь
Уже надоело один и тот же скрипт писать..
Код: Выделить всё
'Запуск проверки md5-hash для списка файлов
Option Explicit
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendCommand "cm_FocusCmdLine"
TCS.SendKeystroke "^+1" 'В доп. параметрах клав-ы переключатель на англ. раскладку назначить на Ctrl+Shift+1
TCS.SendKeystroke "cd " & "{%}COMMANDER_DRIVE{%}\[path]\program_files.md5"
TCS.SendKeystroke "{ENTER 2}"
TCS.SendCommand "cm_GotoPreviousDir"
TCS.SendKeystroke "%{ESC}"
TCS.LockTC False
Set TCS = Nothing
Wscript.Quit()Раз, два, три.arch31 писал(а):но решил перестраховаться, чтобы в случае чего не переносить заразу с одного компа на другой
Tol!k, Ваши рекомендации по поводу RHash пробовал, работает. Однако тут программа жестко привязывается к букве диска и если в md5 указать относительный путь для файлов, к примеру,
, то RHash ничего не находит.
В случае с флешкой такой способ явно не подходит, т.к. от компа к компу буква диска всегда разная.
Если только так:
Хотя, если иных путей не будет, придется на этом остановиться.
Код: Выделить всё
ff256c6c22ed468ebd59836914fc8306 *Firefox Portable\App\Firefox\mozcrt19.dll
01f0d64633ef7db59c8552cff33a5b07 *Firefox Portable\App\Firefox\nspr4.dllВ случае с флешкой такой способ явно не подходит, т.к. от компа к компу буква диска всегда разная.
Что-то не запускается. Пишет:Flasher писал(а):Код: Выделить всё
'Запуск проверки md5-hash для списка файлов Option Explicit Dim TCS Set TCS = CreateObject("TCScript.Helper") TCS.LockTC True TCS.SendCommand "cm_FocusCmdLine" TCS.SendKeystroke "^+1" 'В доп. параметрах клав-ы переключатель на англ. раскладку назначить на Ctrl+Shift+1 TCS.SendKeystroke "cd " & "{%}COMMANDER_DRIVE{%}\[path]\program_files.md5" TCS.SendKeystroke "{ENTER 2}" TCS.SendCommand "cm_GotoPreviousDir" TCS.SendKeystroke "%{ESC}" TCS.LockTC False Set TCS = Nothing Wscript.Quit()
Код: Выделить всё
Строка: 4
Символ: 1
Ошибка: Невозможно создание объекта контейнером ActiveX: 'TCScript.Helper'
Код: 800A01AD
Источник: Ошибка выполнения Microsoft VBScriptЗа ссылочки спасибо! Хотя, думаю, тут у меня все уже решено. Папка Autorun.inf с правами доступа на флешку не дает всяким заразкам записываться. Проблема в другом. Существуют (и я уже натыкался) вирусы, которые на всех дисках (на флешках в том числе) изменяют exe-шки и dll-ки, причем на первый взгляд заражение не заметно. Поэтому для них и решил использовать контроль CRC (MD5).
Если только так:
Но как-то все равно, не очень...sa писал(а):%COMMANDER_PATH%\totalcmd.exe /O /S /L=Путь\Файл.md5
Хотя, если иных путей не будет, придется на этом остановиться.
Скачать, распаковать в отдельную папку, например, как у меня: "%COMMANDER_PATH%\Scripts\tcwshelp_b11" и запустить из ТС один раз TCWSHelp.exe.arch31 писал(а):Что-то не запускается.
Не думаю, что после моего скрипта придётся..arch31 писал(а):Хотя, если иных путей не будет, придется на этом остановиться.
А какие права доступа могут быть во флешечной папке, если она подключается к разным компам? Вообще предлагаю с самими статьями по утилитам ознакомиться: 1, 2, 3.arch31 писал(а):Папка Autorun.inf с правами доступа на флешку не дает всяким заразкам записываться.
Последний раз редактировалось Flasher Чт июл 01, 2010 21:49, всего редактировалось 1 раз.
arch31
Даже стало интересно.
Нашел вот эту утилиту.
Кнопка такая:
Вместо %P%N можно подставить что-то свое.
Даже стало интересно.
Нашел вот эту утилиту.
Кнопка такая:
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c %COMMANDER_PATH%\Utils\101_md5sum\101_md5sum.exe
-c %P%N && echo ------------------ && pause
%COMMANDER_PATH%\TOTALCMD.EXE,31
Проверка MD5
0
-1
Нет, я не сплю. Я просто медленно моргаю.
Пробелы нужно учесть, поэтому в кавычках лучше. А поскольку речь идёт о быстрой проверке без непосредственного перехода в папку, то стоило сразу написать путь. Короче, вариант для этой утилиты и поставленной задачи такой:Batya писал(а):Код: Выделить всё
%COMMANDER_PATH%\Utils\101_md5sum\101_md5sum.exe
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c "%COMMANDER_PATH%\Utils\101_md5sum\101_md5sum.exe"
-c "%%COMMANDER_DRIVE%%\[path]\program_files.md5" && echo ------------------ && pause
%COMMANDER_PATH%\TOTALCMD.EXE,31
Проверка MD5
0
-1arch31
Batya, лучше давать ссылку на официальную страничку
Код: Выделить всё
TOTALCMD#BAR#DATA
%comspec% /c chcp 1251>nul &cd /d %commander_drive%\[folder]
&rhash.exe -c --ansi sums.md5 &pause >nul
%commander_path%\wcmicons.dll,55
Check CRC file
-1
Вариант на основе маленького да удаленького TCFS2.
1 Создать в меню "Запуск" команду перехода к файлу md5(в рассматриваемом варианте она должна быть первой в меню ).
2. В TCFS2.ini в раздел [Items] добавить команды
3. Далее пользоваться кнопкой
1 Создать в меню "Запуск" команду перехода к файлу md5
Код: Выделить всё
cd %COMMANDER_DRIVE%\[path]\program_files.md52. В TCFS2.ini в раздел [Items] добавить команды
Код: Выделить всё
UserMenu1=tcm(701) ; Запустить первый пункт меню "Запуск"
CRCcheck =tcm(565) ; Проверить CRC-суммы(из файлов SFV, MD5, SHA1)
PrevDir =tcm(570) ; НазадКод: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Addon\TCFS2\TCFS2.exe
/ei UserMenu1 rm1pm CRCcheck PrevDir
%COMMANDER_PATH%\Addon\TCFS2\TCFS2.exe
Проверка MD5
-1