Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Тест файлов или Запуск MD5 с панели инструментов
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Wed Jun 30, 2010 12:04    Post subject: Тест файлов или Запуск MD5 с панели инструментов Reply with quote

Здравствуйте. Сбросил себе на флешку в целях переносного использования 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
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Wed Jun 30, 2010 12:13    Post subject: Reply with quote

cm_crccheck - это команда без параметров, она просто вызывает диалог проверки, в точности так, как из меню Файл(ы).

А вопрос, конечно, интересный.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Wed Jun 30, 2010 13:07    Post subject: Reply with quote

Дело в том, что при выборе в контекстном меню команды "Открыть" вылезает традиционное виндовское окно с вопросом, какой программой открывать. Хотя по Enter-у или двойному клику запускается.
Может следует написать bat-ник (хотя опять же неизвестно, как прикрутить к нему командеровские пути) или скрипт? Правда в скриптах я не силен.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 30, 2010 13:16    Post subject: Reply with quote

А как насчёт такого предложения?: создать колону с подсчётом md5-хэш с помощью конт. плагина wdhash, выделить нужные файлы, сохранить содержимое колонок в файл по команде cm_SaveDetailsToFile(A|W), и потом сохранять их при проверке и сравнивать с исходным файлом инструментом сравнения.
Back to top
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Wed Jun 30, 2010 13:29    Post subject: Reply with quote

Flasher, спасибо, конечно, но все дело в том, что ввиду отсутствия времени необходимо проделывать сравнение быстро, одним-двумя действиями. То, что Вы мне предлагаете, все равно вручную надо делать, а мне надо автоматически. Так бы можно было бы просто каждый раз искать и запускать из папки program_files.md5.
Лишние действия, имхо. Если только опять к скрипту дело не сводится.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Wed Jun 30, 2010 14:06    Post subject: Reply with quote

arch31 wrote:
одним-двумя действиями

Вариант с тремя действиями.
Рядом с кнопкой "Назад" создать кнопку с командой
Code:
%COMMANDER_PATH%\totalcmd.exe /O /S /L=Путь\Файл.md5

1 Нажать эту кнопку.
2 Нажать клавишу Enter дважды.
3 Нажать кнопку "Назад".
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Jun 30, 2010 14:43    Post subject: Reply with quote

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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Jun 30, 2010 15:14    Post subject: Reply with quote

Уже надоело один и тот же скрипт писать..
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
View user's profile Send private message
arch31



Joined: 30 Jun 2010
Posts: 11

Post (Separately) Posted: Thu Jul 01, 2010 16:46    Post subject: Reply with quote

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
Quote:
Раз, два, три.
За ссылочки спасибо! Хотя, думаю, тут у меня все уже решено. Папка Autorun.inf с правами доступа на флешку не дает всяким заразкам записываться. Проблема в другом. Существуют (и я уже натыкался) вирусы, которые на всех дисках (на флешках в том числе) изменяют exe-шки и dll-ки, причем на первый взгляд заражение не заметно. Поэтому для них и решил использовать контроль CRC (MD5).

Если только так:
sa wrote:
%COMMANDER_PATH%\totalcmd.exe /O /S /L=Путь\Файл.md5
Но как-то все равно, не очень... Crying or Very sad
Хотя, если иных путей не будет, придется на этом остановиться.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jul 01, 2010 17:37    Post subject: Reply with quote

arch31 wrote:
Что-то не запускается.
Скачать, распаковать в отдельную папку, например, как у меня: "%COMMANDER_PATH%\Scripts\tcwshelp_b11\" и запустить из ТС один раз TCWSHelp.exe.
arch31 wrote:
Хотя, если иных путей не будет, придется на этом остановиться.
Не думаю, что после моего скрипта придётся.. Wink
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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Thu Jul 01, 2010 18:14    Post subject: Reply with quote

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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jul 01, 2010 19:00    Post subject: Reply with quote

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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Fri Jul 02, 2010 02:18    Post subject: Reply with quote

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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Fri Jul 02, 2010 09:46    Post subject: Reply with quote

Flasher
Я дал только пример кнопки. В любом случае, у arch31 будут свои пути.

Tol!k wrote:
Batya, лучше давать ссылку на официальную страничку

Если б я её знал Smile Просто пошарился в инете и наткнулся на эту утилиту.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Fri Jul 02, 2010 09:53    Post subject: Reply with quote

Вариант на основе маленького да удаленького 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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group