View previous topic :: View next topic |
Author |
Message |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Wed Jun 30, 2010 12:04 Post subject: Тест файлов или Запуск 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"
Результат: Аналогично. То же самое, если без кавычек и черты.
Может быть есть в командере какая-нибудь утилита, через которую надо запускать файл? Может быть, нужны еще какие-то дополнительные параметры? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jun 30, 2010 12:13 Post subject: |
|
|
cm_crccheck - это команда без параметров, она просто вызывает диалог проверки, в точности так, как из меню Файл(ы).
А вопрос, конечно, интересный. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Wed Jun 30, 2010 13:07 Post subject: |
|
|
Дело в том, что при выборе в контекстном меню команды "Открыть" вылезает традиционное виндовское окно с вопросом, какой программой открывать. Хотя по Enter-у или двойному клику запускается.
Может следует написать bat-ник (хотя опять же неизвестно, как прикрутить к нему командеровские пути) или скрипт? Правда в скриптах я не силен. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 30, 2010 13:16 Post subject: |
|
|
А как насчёт такого предложения?: создать колону с подсчётом md5-хэш с помощью конт. плагина wdhash, выделить нужные файлы, сохранить содержимое колонок в файл по команде cm_SaveDetailsToFile(A|W), и потом сохранять их при проверке и сравнивать с исходным файлом инструментом сравнения. |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Wed Jun 30, 2010 13:29 Post subject: |
|
|
Flasher, спасибо, конечно, но все дело в том, что ввиду отсутствия времени необходимо проделывать сравнение быстро, одним-двумя действиями. То, что Вы мне предлагаете, все равно вручную надо делать, а мне надо автоматически. Так бы можно было бы просто каждый раз искать и запускать из папки program_files.md5.
Лишние действия, имхо. Если только опять к скрипту дело не сводится. |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2688
|
(Separately) Posted: Wed Jun 30, 2010 14:06 Post subject: |
|
|
arch31 wrote: | одним-двумя действиями |
Вариант с тремя действиями.
Рядом с кнопкой "Назад" создать кнопку с командой
Code: | %COMMANDER_PATH%\totalcmd.exe /O /S /L=Путь\Файл.md5 |
1 Нажать эту кнопку.
2 Нажать клавишу Enter дважды.
3 Нажать кнопку "Назад". |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Jun 30, 2010 14:43 Post subject: |
|
|
Code: | 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-файл под курсором. Если нужно проверить конкретный файл, впишите его имя вместо %P%N.
Если контролируемые файлы находятся не в текущей папке, пути в crc-файле д.б. соответствующие.
RHash здесь |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jun 30, 2010 15:14 Post subject: |
|
|
Уже надоело один и тот же скрипт писать..
Code: | 'Запуск проверки 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 wrote: | но решил перестраховаться, чтобы в случае чего не переносить заразу с одного компа на другой | Раз, два, три. |
|
Back to top |
|
 |
arch31
Joined: 30 Jun 2010 Posts: 11
|
(Separately) Posted: Thu Jul 01, 2010 16:46 Post subject: |
|
|
Tol!k, Ваши рекомендации по поводу RHash пробовал, работает. Однако тут программа жестко привязывается к букве диска и если в md5 указать относительный путь для файлов, к примеру,
Code: | ff256c6c22ed468ebd59836914fc8306 *Firefox Portable\App\Firefox\mozcrt19.dll
01f0d64633ef7db59c8552cff33a5b07 *Firefox Portable\App\Firefox\nspr4.dll | , то RHash ничего не находит.
В случае с флешкой такой способ явно не подходит, т.к. от компа к компу буква диска всегда разная.
Flasher wrote: | Code: | 'Запуск проверки 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() |
| Что-то не запускается. Пишет: Code: | Строка: 4
Символ: 1
Ошибка: Невозможно создание объекта контейнером ActiveX: 'TCScript.Helper'
Код: 800A01AD
Источник: Ошибка выполнения Microsoft VBScript | За ссылочки спасибо! Хотя, думаю, тут у меня все уже решено. Папка Autorun.inf с правами доступа на флешку не дает всяким заразкам записываться. Проблема в другом. Существуют (и я уже натыкался) вирусы, которые на всех дисках (на флешках в том числе) изменяют exe-шки и dll-ки, причем на первый взгляд заражение не заметно. Поэтому для них и решил использовать контроль CRC (MD5).
Если только так:
sa wrote: | %COMMANDER_PATH%\totalcmd.exe /O /S /L=Путь\Файл.md5 | Но как-то все равно, не очень...
Хотя, если иных путей не будет, придется на этом остановиться. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jul 01, 2010 17:37 Post subject: |
|
|
arch31 wrote: | Что-то не запускается. | Скачать, распаковать в отдельную папку, например, как у меня: "%COMMANDER_PATH%\Scripts\tcwshelp_b11\" и запустить из ТС один раз TCWSHelp.exe. arch31 wrote: | Хотя, если иных путей не будет, придется на этом остановиться. | Не думаю, что после моего скрипта придётся..  arch31 wrote: | Папка Autorun.inf с правами доступа на флешку не дает всяким заразкам записываться. | А какие права доступа могут быть во флешечной папке, если она подключается к разным компам? Вообще предлагаю с самими статьями по утилитам ознакомиться: 1, 2, 3.
Last edited by Flasher on Thu Jul 01, 2010 21:49; edited 1 time in total |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Thu Jul 01, 2010 18:14 Post subject: |
|
|
arch31
Даже стало интересно.
Нашел вот эту утилиту.
Кнопка такая:
Code: | 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
|
Вместо %P%N можно подставить что-то свое. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jul 01, 2010 19:00 Post subject: |
|
|
Batya wrote: | Code: | %COMMANDER_PATH%\Utils\101_md5sum\101_md5sum.exe |
| Пробелы нужно учесть, поэтому в кавычках лучше. А поскольку речь идёт о быстрой проверке без непосредственного перехода в папку, то стоило сразу написать путь. Короче, вариант для этой утилиты и поставленной задачи такой: Code: | 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
-1 |
|
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Jul 02, 2010 02:18 Post subject: |
|
|
arch31
Code: | 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
|
Batya, лучше давать ссылку на официальную страничку |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Fri Jul 02, 2010 09:46 Post subject: |
|
|
Flasher
Я дал только пример кнопки. В любом случае, у arch31 будут свои пути.
Tol!k wrote: | Batya, лучше давать ссылку на официальную страничку |
Если б я её знал Просто пошарился в инете и наткнулся на эту утилиту. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2688
|
(Separately) Posted: Fri Jul 02, 2010 09:53 Post subject: |
|
|
Вариант на основе маленького да удаленького TCFS2.
1 Создать в меню "Запуск" команду перехода к файлу md5
Code: | cd %COMMANDER_DRIVE%\[path]\program_files.md5 | (в рассматриваемом варианте она должна быть первой в меню ).
2. В TCFS2.ini в раздел [Items] добавить команды
Code: | UserMenu1=tcm(701) ; Запустить первый пункт меню "Запуск"
CRCcheck =tcm(565) ; Проверить CRC-суммы(из файлов SFV, MD5, SHA1)
PrevDir =tcm(570) ; Назад |
3. Далее пользоваться кнопкой
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Addon\TCFS2\TCFS2.exe
/ei UserMenu1 rm1pm CRCcheck PrevDir
%COMMANDER_PATH%\Addon\TCFS2\TCFS2.exe
Проверка MD5
-1 |
|
|
Back to top |
|
 |
|