Обмен кнопками

Если вы хотите поделиться с другими пользователями секретами Total Commander, знаете интересные опции, приемы, настройки, то вам сюда.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

HA3APET жмет всё, что ещё жмецо.
Один из распакованных файлов - это файл *.EXE
Фишка в том, чтобы жать в архив портабл софт. Запуск с панели инструментов скрипта (я думаю, здесь нужен скрипт) вызовет процесс разархивирования и, собственно, запуск программы. Не будет быстро, но можно сэкономить в размере для программ, не так часто используемых.
Я думаю, идея ничё такая... неплохая.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

HA3APET писал(а):MVV
Fine.exe
В принципе, можно указывать имя файла в параметрах. Создаешь где угодно файл unpexec.cmd (путь к 7z.exe пишешь свой):

Код: Выделить всё

@echo off
title Extracting...
if -%2==- goto exit
:loop
set UNIQ_FOLDER=~unpacked_%RANDOM%
if exist "%TEMP%\%UNIQ_FOLDER%" goto loop
"C:\Program Files\7-Zip\7z.exe" x -o"%TEMP%\%UNIQ_FOLDER%" %1
cd /d "%TEMP%\%UNIQ_FOLDER%"
"%2"
rd /s /q "%TEMP%\%UNIQ_FOLDER%"
:exit
cls
И кнопку для ТК:

Код: Выделить всё

Команда: <путь_к_unpexec.cmd>
Параметры: %P%N Fine.exe
В свернутом виде: Да
При этом архив будет распакован в папку с уникальным именем в папке %TEMP% и запущен файл Fine.exe из созданной папки. После завершения работы файла папка будет удалена.
Если ждать завершения команды и удалять файлы не нужно, замени строки:

Код: Выделить всё

"%2"
rd /s /q "%TEMP%\%UNIQ_FOLDER%"
на строку:

Код: Выделить всё

start "" "%2"
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

MVV
Большущее спасибо, буду пробовать.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

MVV
Попробовал
С случайными папками не получается, но это мне и не нужно
Остановился пока на этом

Код: Выделить всё

@echo off 
title Extracting... 
if -%2==- goto exit 
:loop 
if exist "%TEMP%\1" goto loop 
"%commander_path%\Soft\SFX Tool\7z.exe" x -o"%TEMP%\1" %1 
cd /d "%TEMP%\1" 
"%2" 
rd /s /q "%TEMP%\1" 
:exit 
cls
Кнопка, как вы и сказали

Код: Выделить всё

Команда: <путь_к_unpexec.cmd> 
Параметры: %P%N Fine.exe 
В свернутом виде: Да
Всё работает, но естественно только если архив под курсором
А очень хотелось бы, чтобы кнопка срабатывала не зависимо от того где курсор. Имя архива Fine.7z
Думаю, что додумаю самостоятельно, но если не сложно, то не откажусь от помощи. Спасибо.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Случайные папки у меня работают вполне нормально, и ничего делать для этого не нужно. Убери тогда у себя строчку

Код: Выделить всё

if exist "%TEMP%\1" goto loop
иначе твой файл зависнет, если папка "%TEMP%\1" существует.

А если имя архива фиксировано, его можно указать вместо %P%N в параметрах команды. Откуда ж мне знать, что за архив ты хочешь распаковывать и зачем)

Если у тебя всего 1 такой архив, и ты постоянно распаковываешь его, возможно, тебе стоит подумать о создании SFX-архива - для 7-Zip есть модули 7zSD, поддерживающие запуск программы после распаковки.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

MVV
Всё работает, наконец-то я добился чего хотел )
SFX для моей задачи не подайдёт, так как есть один архив.. а в нём несколько файлов которые хотелось бы запускать, одно из решений кнопочки.
Но может быть есть возможность создания архивов с несколькими модулями sfx, а ключ в параметрах запуска определял бы какой из них запускать?
Спасибо, вам за помощь.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вообще, к одному архиву нельзя прикрепить несколько SFX-модулей, но ничто не мешает после извлечения файлов передавать управление некоему селектору, который будет предоставлять выбор, какую из программ запускать. В банальном случае это может быть просто bat-файл, показывающий список пунктов и запускающий тот или иной по соответствующей клавише, в более продвинутом - специально написанная программка с несколькими кнопочками, или даже некая штука, которая будет выбирать программу для запуска исходя из некоторых внешних факторов (например, особые параметры командной строки родительского процесса, коим будет являться SFX-модуль). От SFX совершенно не требуется встроенная возможность выбора запускаемой программы.

Вообще, это несколько выходит за рамки изначально обсуждаемой темы.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

MVV, Спасибо информация полезная.


Люди, подскажите кнопочку.
Создать ярлык на рабочий стол (для всех пользователей)... файла под курсором.
Сделал через nircmdc, но это как то не элегантно.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

HA3APET писал(а):не элегантно
Одной только кнопкой вряд ли получится. Хотя, можно попробовать загнать код JS/VBS-скрипта в кнопку.
Как создать ярлык в Windows с помощю командной строки?
cluster
Сообщения: 82
Зарегистрирован: Вт май 26, 2009 15:25

Сообщение cluster »

Есть ярлык на Рабочую группу в сетевом окружении.
Кидаю его на панель кнопок, а при нажатии открывается окно проводника со списком ПК рабочей группы. А надо, чтобы этот список открывался в панели ТС.
Или второй вопрос: Какую команду указать в свойствах кнопки, чтобы в ТС открылся список ПК рабочей группы?
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

cluster писал(а):Есть ярлык на Рабочую группу в сетевом окружении.
Кидаю его на панель кнопок, а при нажатии открывается окно проводника со списком ПК рабочей группы. А надо, чтобы этот список открывался в панели ТС.
Или второй вопрос: Какую команду указать в свойствах кнопки, чтобы в ТС открылся список ПК рабочей группы?
CD <directory> Пepeйти в yкaзaнный кaтaлoг
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
cluster
Сообщения: 82
Зарегистрирован: Вт май 26, 2009 15:25

Сообщение cluster »

Да это всё не новость. Но какой путь у рабочей группы (н-р, OFFICE)
Win7
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

cluster писал(а):Да это всё не новость. Но какой путь у рабочей группы (н-р, OFFICE)
Win7
Командой "Копировать полные имена в буфер" не пробовал?
У меня путь такой \\Microsoft Windows Network\Workgroup\
Могу ошибаться.
win xp

Не могу соорудить кнопку, "Д о б а в и т ь в закладки Winamp" выделенные файлы.
Что мы имеем? - Утилита Clamp с cmd:
Bookmarks management
BOOKMARK <file> Add <file> to bookmarks
BOOKMARK CURRENT Add current track to bookmarks
Это мой стандарт "П л э й" на панели:
%COMMANDER_PATH%\PLUGINS\exe\Hidden Start\hstart.exe /NOCONSOLE "%COMMANDER_PATH%\PLUGINS\exe\CLAmp\CLAmp.exe /PLAYPAUSE"
Что-то мне подсказывает что делать нужно так:
%COMMANDER_PATH%\PLUGINS\exe\Hidden Start\hstart.exe /NOCONSOLE "%COMMANDER_PATH%\PLUGINS\exe\CLAmp\CLAmp.exe /BOOKMARK "%L""
Ну не жесть ли...

Добавился - %L :)
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
cluster
Сообщения: 82
Зарегистрирован: Вт май 26, 2009 15:25

Сообщение cluster »

Командой "Копировать полные имена в буфер" не пробовал?
У меня путь такой \\Microsoft Windows Network\Workgroup\
Могу ошибаться.
win xp
На XP и у меня работает.. А вот в Win7 так не проходит.
Аватара пользователя
skole
Сообщения: 162
Зарегистрирован: Чт дек 30, 2004 23:15
Откуда: Россия, Оренбург

Сообщение skole »

Скрипт для создания ярлыка на рабочем столе для текущего пользователя

Код: Выделить всё

' ===============================================
'  Автор:		SkOle
'  Описание:	Создает ярлык на рабочем столе
'  Параметры:	%P%N
' ===============================================

Option Explicit
 
If WScript.Arguments.Count > 0 Then
	Dim WSH, FSO, ShortCut, Desktop
	Set WSH = CreateObject("Wscript.Shell")
	Desktop = WSH.SpecialFolders("Desktop")

	Set FSO = CreateObject("Scripting.FileSystemObject") 
	Set ShortCut = WSH.CreateShortcut(Desktop & "\" & FSO.GetBaseName(WScript.Arguments(0)) & ".lnk")
	
	ShortCut.TargetPath = WScript.Arguments(0)
	ShortCut.Save
	
	Set ShortCut = Nothing
	Set FSO = Nothing
	Set WSH = Nothing
End If

WScript.Quit
Ответить