Обмен кнопками
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 39, 40, 41 ... 43, 44, 45  Next  :| |:
Total Commander -> Секреты и советы

#586:  Author: RazR PostPosted: Fri Aug 26, 2011 14:20
    —
2All, обновил до DAEMON Tools Lite 4.41.3 и теперь перестали работать кнопки подключения/отключения образа:
Code:
TOTALCMD#BAR#DATA
 "c:\Program Files\DAEMON Tools\daemon.exe"
 -mount 0, %P%N
 C:\Program Files\DAEMON Tools\daemon.exe
 Подключение образов в DAEMON Tools
 c:\Program Files\DAEMON Tools\

 -1

Code:
TOTALCMD#BAR#DATA
 "c:\Program Files\DAEMON Tools\daemon.exe"
 -unmount 0
 C:\Program Files\DAEMON Tools\Icons\tray1.ico
 Отключение образов в DAEMON Tools
 c:\Program Files\DAEMON Tools\

 -1

Подсобите, пожалуйста, а?.. Очень привык к ним. Rolling Eyes

#587:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Aug 29, 2011 12:37
    —
Отвечено на ру-борде.

#588:  Author: tcmd4ever PostPosted: Tue Aug 30, 2011 20:35
    —
Так называемый режим Бога (God mode), обнаруженный Ina Fried/CNET в Windows Vista/7.
Code:
TOTALCMD#BAR#DATA
explorer shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

netshell.dll,28
God mode


-1

А как вывести в панель?

#589:  Author: FlasherLocation: Москва PostPosted: Tue Aug 30, 2011 20:55
    —
Почитать шапку. Это вызов диалога всех задач. "explorer" можно убрать.

#590:  Author: tcmd4ever PostPosted: Tue Aug 30, 2011 21:00
    —
Ok.
Code:
TOTALCMD#BAR#DATA
shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

shell32.dll,207
Вызов диалога всех задач


-1


А на счёт панели никак? Хотелось бы видеть там... cd не хочет Sad

Добавлено спустя 2 часа 57 минут:

Вот оформил батники в кнопки. Работа с вебсервером Apache ветки 2.2.xx. Смысл в портабельном запуске сервера с флешки поэтому сервис создаётся и удаляется из системы, пути прописал абсолютные т.к. тестил стационарно, надеюсь что с %COMMANDER_PATH% проблемы не возникнут.

Установка сервиса и запуск Apache.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\apache\2216\bin\httpd.exe -f "c:\server\apache\2216\conf\httpd.conf" -k install -n httpdnt&net start httpdnt
shell32.dll,223
Запуск Apache


-1

Быстрый нативный перезапуск Apache.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\apache\2216\bin\httpd.exe -k restart -n httpdnt
shell32.dll,146
Быстрый перезапуск Apache


-1

Медленный системный перезапуск Apache, зато надёжный как AK-47.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop httpdnt&net start httpdnt
shell32.dll,146
Медленный перезапуск Apache

0
-1

Останов и удаление сервиса Apache из системы.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop httpdnt&sc \\127.0.0.1 delete httpdnt
shell32.dll,112
Остановить Apache

0
-1

#591:  Author: MaximusLocation: Украина, Кировоградская обл., г. Знаменка PostPosted: Wed Aug 31, 2011 00:16
    —
tcmd4ever wrote:
А на счёт панели никак?

О какой панели речь?

#592:  Author: tcmd4ever PostPosted: Wed Aug 31, 2011 00:27
    —
Maximus wrote:
О какой панели речь?

Code:
cd ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}

Команда такого типа выводит в панель, очень удобно, понимаю что там немного иначе, но мало ли вдруг чудеса случаются Cool

#593:  Author: FlasherLocation: Москва PostPosted: Wed Aug 31, 2011 00:40
    —
А, ну, так надо ясней выражаться. Есть панель инструментов (что сразу пришло в голову), а есть файловая панель. В TC есть команда открытия панели управления (cm_OpenControls), можно попробовать сперва отправить ярлык туда, а потом проверить сможет ли прочесть эту виртуальную папку Тотал (а у него с этим явные проблемы, это первое что мне в глаза бросилось при установке 7 в своё время). Обычных способов открывать в TC подобные папки нет.

#594:  Author: tcmd4ever PostPosted: Wed Aug 31, 2011 11:17
    —
Ссори за мой французский, у меня панель инструментов крепко проассоциирована со словом "бар", а файловые панели с "панелями". Спасибо за линку. Обнаружил что класс с тем ID-шником и так есть в указанных ветках, но шелл его не показывает. Коварный M$ фильтрует класс и разрешает вызывать его по принципу: кинуть ярлык на раб. стол или папку с именем Имя папки.{ED7BA470-8E54-465E-825C-99712043E01C}. Пока удалось лишь закинуть ярлык в "Панель управления", вставив вызов класса в другой класс после чего он появился в списке TC при вызове команды cm_OpenControls.

Добавляет пункт "Вызов диалога всех задач" в "Панель управления" windows 7
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{77708248-f839-436b-8919-527c410f48b9}]
@="Вызывает диалог всех задач aka God mode"

[HKEY_CLASSES_ROOT\CLSID\{77708248-f839-436b-8919-527c410f48b9}]
@="Вызов диалога всех задач"
"InfoTip"="Вызывает диалог всех задач aka God mode"
"System.ControlPanel.Category"="5"

[HKEY_CLASSES_ROOT\CLSID\{77708248-f839-436b-8919-527c410f48b9}\DefaultIcon]
@="%SYSTEMROOT%\\System32\\control.exe"

[HKEY_CLASSES_ROOT\CLSID\{77708248-f839-436b-8919-527c410f48b9}\Shell]

[HKEY_CLASSES_ROOT\CLSID\{77708248-f839-436b-8919-527c410f48b9}\Shell\Open]

[HKEY_CLASSES_ROOT\CLSID\{77708248-f839-436b-8919-527c410f48b9}\Shell\Open\Command]
@=hex(2):65,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,20,00,73,00,68,00,65,\
  00,6c,00,6c,00,3a,00,3a,00,3a,00,7b,00,45,00,44,00,37,00,42,00,41,00,34,00,\
  37,00,30,00,2d,00,38,00,45,00,35,00,34,00,2d,00,34,00,36,00,35,00,45,00,2d,\
  00,38,00,32,00,35,00,43,00,2d,00,39,00,39,00,37,00,31,00,32,00,30,00,34,00,\
  33,00,45,00,30,00,31,00,43,00,7d,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{77708248-f839-436b-8919-527c410f48b9}\ShellFolder]
"Attributes"=dword:00000000

Кнопка "Панель управления" в файловой панели TC
Code:
TOTALCMD#BAR#DATA
cm_OpenControls

shell32.dll,165
Панель управления


2123

#595:  Author: tcmd4ever PostPosted: Wed Aug 31, 2011 16:56
    —
Продолжу про серверные кнопки. Работа с сервером БД MySQL.

Установка сервиса и запуск MySQL.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\mysql\5150\bin\mysqld.exe --install mysqldnt --defaults-file=c:\server\mysql\5150\my.ini&net start mysqldnt
netshell.dll,88
Запуск MySQL


-1

Замечено, что позиции значков в дллках под 7 и XP отличаются. Для XP поменять строку netshell.dll,88 -> netshell.dll,91

Cистемный перезапуск MySQL.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop mysqldnt&net start mysqldnt
shell32.dll,146
Перезапуск MySQL

0
-1

Останов и удаление сервиса MySQL из системы.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop mysqldnt&sc \\127.0.0.1 delete mysqldnt
shell32.dll,112
Остановить MySQL


-1

Батник, сбрасывающий пароль БД MySQL.
Code:
:: Сброс root пароля в MySQL, БД должна быть запущена на localhost.
@echo off
set mysqlserverpath=c:\server\mysql\5150
echo Enter new mysql localhost root password:
set /p newpassword=
echo SET PASSWORD FOR 'root'@'localhost' = PASSWORD('%newpassword%'); > %mysqlserverpath%\mysql-init.txt
%mysqlserverpath%\bin\mysqld.exe --install mysqldnt --init-file=%mysqlserverpath%\mysql-init.txt
net start mysqldnt
net stop mysqldnt
sc \\127.0.0.1 delete mysqldnt
del %mysqlserverpath%\mysql-init.txt
echo Password has been reset successfully.

Кнопка к нему. Батник у меня называется mysqlpswdrst.cmd.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k "%COMMANDER_PATH%\tools\manage\bat\mysqlpswdrst.cmd"

shell32.dll,104
Cбросить пароль MySQL


-1

#596:  Author: tcmd4ever PostPosted: Thu Sep 01, 2011 18:03
    —
Работа с кэширующим прокси-сервером Squid.

Установка сервиса и запуск Squid.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\squid\27STABLE8\sbin\squid.exe -i -f c:\server\squid\27STABLE8\etc\squid.conf -n squiddnt&net start squiddnt
shell32.dll,135
Запуск Squid

0
-1

Перезагрузка конфига Squid в случае правки без полного перезапуска сервиса.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\squid\27STABLE8\sbin\squid.exe -n squiddnt -f c:\server\squid\27STABLE8\etc\squid.conf -k reconfigure
shell32.dll,69
Реконфигурация Squid

0
-1

Системный перезапуск Squid. Долго, 13 точек.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop squiddnt&net start squiddnt
shell32.dll,146
Перезапуск Squid

0
-1

Очистка кэша Squid и пересоздание структуры своп-директорий.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop squiddnt&rd /s /q c:\server\squid\27STABLE8\var\cache\&md c:\server\squid\27STABLE8\var\cache\&c:\server\squid\27STABLE8\sbin\squid.exe -n squiddnt -f c:\server\squid\27STABLE8\etc\squid.conf -z
shell32.dll,31
Очистка кэша Squid


-1

Быстрый нативный останов и удаление сервиса Squid из системы.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\squid\27STABLE8\sbin\squid.exe -n squiddnt -f c:\server\squid\27STABLE8\etc\squid.conf -k shutdown&sc \\127.0.0.1 delete squiddnt
shell32.dll,112
Быстро остановить Squid

0
-1

Медленный системный останов и удаление сервиса Squid из системы, если висим.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop squiddnt&sc \\127.0.0.1 delete squiddnt
shell32.dll,112
Остановить Squid

0
-1

Батник или вернее цмдшка для добавления пользователя и пароля в список пользователей Squid. При создании хэша пароля используется аутентичная утилита htpasswd.exe, входящая в состав пакета вебсервера Apache.
Code:
:: Добавление нового пользователя в список squid для ncsa_auth аутентификации.
@echo off
set squidproxypath=c:\server\squid\27STABLE8
set apacheserverpath=c:\server\apache\2216
set squidauthlist=internet_users
echo Enter new squid username:
set /p username=
echo Enter new squid password:
set /p userpassword=
%apacheserverpath%\bin\htpasswd.exe -bcmd %squidproxypath%\etc\tmp %username% %userpassword%
for /f %%a in (%squidproxypath%\etc\tmp) do echo %%a>>"%squidproxypath%\etc\%squidauthlist%"
del %squidproxypath%\etc\tmp
echo User has been added successfully.

Кнопка к нему. Цмдшка у меня называется squidadduser.cmd.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k "%COMMANDER_PATH%\tools\manage\bat\squidadduser.cmd"

shell32.dll,111
Добавить пользователя Squid


-1

Сервисы разделил по группам, в 7 серверный бар пока выглядит так. Кнопки несомненно удобнее батников.


#597:  Author: tcmd4ever PostPosted: Fri Sep 02, 2011 15:52
    —
Добавить к работе со Squid.

Генерация и просмотр отчётов Sarg.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\sarg\2231\sbin\sarg.exe -f c:\server\sarg\2231\etc\sarg.conf c:\server\squid\27STABLE8\var\logs\access.log c:\server\sarg\2231\report&explorer c:\server\sarg\2231\report\index.html
shell32.dll,114
Генерировать отчёт Sarg


-1

Моя версия Sarg увы не имеет выведенного наружу параметра выбора языка. Он забит стационарно в теле программы на c:\sarg\etc\languages\English, а местоположение сарга у меня отличается от этого пути. Поэтому папку etc со всем добром из сарга нужно предварительно скопировать в c:\sarg\etc\.

#598:  Author: tcmd4ever PostPosted: Sat Sep 03, 2011 21:14
    —
Добавить к работе со Squid.

Генерация и просмотр отчётов lightsquid.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:/server/perl/5140/bin/perl.exe c:/server/cgi/lightsquid/lightparser.pl&explorer http://127.0.0.1:8080/cgi/lightsquid/index.cgi
shell32.dll,114
Генерировать отчёт lightsquid


-1

Впрочем, это не так часто требуется т.к. планировщик запускает батник-генератор по расписанию, но всё-равно до кучи.

Работа с планировщиком заданий nnCron LITE (бесплатный аналог Cron для NT http://www.nncron.ru/#nncronlt).

Установка сервиса и запуск Cron.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
c:\server\cron\117\cron.exe -q -install&net start cron
shell32.dll,137
Запуск Сron

0
-1

Останов и удаление сервиса Cron из системы.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop cron&sc \\127.0.0.1 delete cron
shell32.dll,112
Остановить Cron

0
-1

Цмдшка для добавления нового задания в crontab.
Code:
:: Добавление новой задачи к спсику cron.tab.
@echo off
set cronpath=c:\server\cron\117\
echo Enter new cron task ^<Minutes Hours Days Months WeekDays Command^>:
set /p crontask=
echo %crontask%>>"%cronpath%\cron.tab"
%cronpath%\cron.exe -reload
echo Task has been added successfully.

Кнопка к ней. Цмдшка у меня называется cronaddtab.cmd.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k "%COMMANDER_PATH%\tools\manage\bat\cronaddtab.cmd"

shell32.dll,20
Добавить задание Сron


-1

В 7 системный планировщик, вызываемый в XP кнопкой с CLSID {D6277990-4C6A-11CF-8D87-00AA0060F5BF}, не работает.

#599:  Author: tcmd4ever PostPosted: Tue Nov 22, 2011 11:57
    —
Работа с системой управления версиями Subversion (отдельно от Apache).

Запуск сервиса SVN.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
sc create svndnt binpath= "c:\server\subversion\1616\bin\svnserve.exe --service -r c:\server\svn" displayname= "Subversion Server" depend= Tcpip start= auto&net start svndnt
netshell.dll,12
Запуск SVN

0
-1

Перезапуск сервиса SVN.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop svndnt&net start svndnt
shell32.dll,146
Перезапуск SVN

0
-1

Останов и удаление сервиса SVN из системы.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop svndnt&sc \\127.0.0.1 delete svndnt
shell32.dll,112
Остановить SVN

0
-1

Отдельные кнопки, управляющие всеми сервисами.

Остановить всех демонов и удалить их из системы.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k
net stop httpdnt&net stop mysqldnt&net stop svndnt&net stop squiddnt&net stop cron&sc \\127.0.0.1 delete httpdnt&sc \\127.0.0.1 delete mysqldnt&sc \\127.0.0.1 delete svndnt&sc \\127.0.0.1 delete squiddnt&sc \\127.0.0.1 delete cron
shell32.dll,219
Останов всех демонов


-1

Отображение запущенных демонов в консоли. Работает медленно.
Code:
TOTALCMD#BAR#DATA
cmd /t:02 /k "%COMMANDER_PATH%\tools\manage\bat\daemonsview.cmd"

shell32.dll,171
Запущенные демоны


-1

Цмдшка для неё daemonsview.cmd. Не очень по скорости, конечно консольное win приложение было бы быстрее.
Code:
:: Показывает запущенных демонов.

@echo off
setlocal enabledelayedexpansion

set apachedaemonname=httpdnt
set mysqldaemonname=mysqldnt
set subversiondaemonname=svndnt
set squiddaemonname=squiddnt
set crondaemonname=cron

call :daemonessence %apachedaemonname% null showall 1
call :daemonessence %apachedaemonname% noheader null
call :daemonessence %mysqldaemonname% noheader null
call :daemonessence %subversiondaemonname% noheader null
call :daemonessence %squiddaemonname% noheader showall 3
call :daemonessence %crondaemonname% noheader null
goto :eof

:finddaemonnamepid
for /f "tokens=1-3" %%A in ('tasklist /SVC ^| findstr /i "%1"') do (set daemonpid=%%B)
if "%daemonpid%"=="" set daemonpid=n/a
goto :eof

:daemonessence
set daemonimagename=n/a
set daemonpid=n/a
set daemonport=n/a
set daemonportstatus=n/a
set daemonmem=n/a
call :finddaemonnamepid %1
for /f "tokens=1-9" %%A in ('tasklist ^| findstr /i "%daemonpid%"') do (
set daemonimagename=%%A
set daemonmem=%%E %%F %%G %%H)
for /f "tokens=1-5" %%A in ('netstat -a -o ^| findstr /i "%daemonpid%"') do (
set daemonport=%%B
set daemonportstatus=%%D)
for /f "tokens=1-2 delims=:" %%A in ('echo %daemonport%:n/a') do (
set daemonport=%%B)
if not "%2" == "noheader" (
echo Daemon name     Image name      PID   Daemon port     Port status   Memory
echo =============== =============== ===== =============== ============= =========
echo. )
if "%3" == "showall" (call :showalldaemons %4)
set printstring_buffer=
call :printstring 16 %1
call :printstring 16 %daemonimagename%
call :printstring 6 %daemonpid%
call :printstring 16 %daemonport%
call :printstring 14 %daemonportstatus%
call :printstring 9 %daemonmem%
echo %printstring_buffer%
goto :eof

:showalldaemons
set /a countsearch=0
:nextsearch
for /f "tokens=1-9" %%A in ('tasklist ^| findstr /i "%daemonimagename%"') do (set daemonpidtest=%%B)
if "%daemonpidtest%"=="" set daemonpidtest=n/a
if not "daemonpidtest" == "daemonpid" (
set daemonpid=%daemonpidtest%
set daemonport=n/a
set daemonportstatus=n/a
for /f "tokens=1-9" %%A in ('tasklist ^| findstr /i "%daemonpidtest%"') do (set daemonmem=%%E %%F %%G %%H))
if not "%countsearch%" == "%1" (set /a countsearch += 1 & goto nextsearch)
goto :eof

:printstring
set printstring_string=%2%3%4%5
set printstring_spaces=                                spaces_32
set /a printstring_symbols=1
for /l %%a in (0,1,32) do (if "!printstring_string:~%%a,1!"=="" set /a printstring_symbols=%%a & goto printstring_out)
:printstring_out
set /a printstring_spacesnum=%1-%printstring_symbols%
set printstring_buffer=%printstring_buffer%%printstring_string%!printstring_spaces:~0,%printstring_spacesnum%!
goto :eof

Выглядит это всё так.




#600:  Author: sancherLocation: Piter PostPosted: Sun Nov 27, 2011 15:25
    —
Приходится часто делать образы папок (известно, что на большинстве торрент-трекеров нельзя выкладывать архивы и образы, а только их содержимое)
Вызывать постоянно UltraISO надоело.
Сделал кнопку с использованием cdimage (точнее oscdimg версии 2.55).
Создаём папку %COMMANDER_PATH%\Plugins\WCX\ISO2\
и кладём туда oscdimg.exe и батник iso.bat:
Code:
oscdimg.exe -l%1 -h -o -w1 -m -c -j1 %2 %2.iso

При запуске этого батника через кнопку в TC будет создан образ с меткой имени папки, имя образа будет соответствовать имени папки. Образ будет создан в режиме ISO9660+Joliet (с поддержкой длинных имён). Образ создаётся только из выделенной в TC папки (в образ попадает содержимое самой папки).

Создаём кнопку
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\WCX\ISO3\ISO.bat
%N %P%N
C:\Windows\System32\imageres.dll,57
Создание образа папки
%COMMANDER_PATH%\Plugins\WCX\ISO3\


В случае ошибок (например, имена длиннее положенных по стандарту) образ всё-равно будет создан.
Созданный образ будет прекрасно читаться в TC через плагин ISO,
но при записи на болванку могут и скорее всего возникнут проблемы.
Просмотреть ошибки можно путём добавления в батник строчки:
Code:
pause

P.S. проблему с длинными путями и названиями файлов можно решить путём создания образа в формате UDF2 (без ISO9660). Для этого можно создать новый батник и кнопку для него. В батнике нужно поменять параметр -j1 на-u2
После этого необходимо установить в TC плагин Total7zip и ассоциировать с ним файлы *.iso.
После этого появляется возможность удобной работы практически с любыми образами iso.



Total Commander -> Секреты и советы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 39, 40, 41 ... 43, 44, 45  Next  :| |:
Page 40 of 45

Powered by phpBB © 2001, 2005 phpBB Group