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

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

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

Аватара пользователя
Владимир М
Сообщения: 78
Зарегистрирован: Ср сен 16, 2009 20:19

Сообщение Владимир М »

Tol!k,
большое спасибо! работает.
Windows7 x64 TC 7.55a
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

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

Владимир М
LocKtaR-o-DarK™ писал(а):Как производить обмен кнопками?

— чтобы поделиться кнопкой, нажмите правой кнопкой мыши по вашей кнопке и выберите Копировать, после чего вставляйте содержимое буфера в пост как Код: или блок, и, при необходимости, отредактируйте код;
— чтобы забрать кнопку, скопируйте содержимое кода нужной кнопки, правой кнопкой мыши щёлкните на нужном месте панели инструментов (кнопок) тотала и выберите Вставить;

Примечание:
— если, по каким-то причинам, значок вставленной кнопки не отображается или отображается не должным образом, необходимо обновить кнопку, для этого щёлкните по вставленной пустой или неверно отображаемой кнопке правой кнопкой мыши, выберите Изменить, после чего нажмите OK.
Т.ч. "файл кпопки с расширением vbs" создавать не нужно.
vbs — это скрипты на Visual Basic Script, а не кнопки
Аватара пользователя
LocKtaR-o-DarK
Сообщения: 349
Зарегистрирован: Пт авг 12, 2005 04:20
Откуда: Москва
Контактная информация:

Сообщение LocKtaR-o-DarK »

Владимир М писал(а):возможно туплю я, но чего же тут непонятного делал всё как написано тут! http://forum.wincmd.ru/viewpost.php?p=8314
это решение немного устарело
вот более свежее
Изображение    Изображение    Изображение
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

JKT писал(а): А вот как-бы чтобы он создавался не под именем "playlist.m3u" , а "Имя_текущей_папки.m3u" Было-бы вообще здорово.
Вариант с однострочным батником устроит?

Файл m3u.bat

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

For %%x In ("%cd%") Do Copy "%~1" "%cd%\%%~nx.m3u"
Положите его в любое удобное место (у меня %commander_path%\Utilites\m3u.bat)
Создайте кнопку:

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

TOTALCMD#BAR#DATA
%commander_path%\Utilites\m3u.bat
%L
%commander_path%\WCMICONS.DLL,57
Создать плейлист

1
-1
Win7 SP1 Ultimate x64, TC8.52a x64
JKT
Сообщения: 116
Зарегистрирован: Вт сен 22, 2009 23:01
Откуда: Харьков

Сообщение JKT »

gora
Спасибо огромное. Все работает нормально. Плейлист из выделенных файлов с именем текущей папки. То, что надо.
garmonist
Сообщения: 14
Зарегистрирован: Пт апр 23, 2010 15:18

Сообщение garmonist »

Перечитал всю тему. Решения нашел только частичные.

Помогите, пожалуйста, создать код для двух кнопок:

1. БЭКАП
1.1. Файл необходимо заархивировать в архив {ИмяФайла}_[ГГГГ.ММ.ДД чч.мм.сс].rar.
1.2. Переместить его в папку {ПутьКФайлу}\X-ARC. Если такой папки не существует, то ее надо создать.

2. ВОССТАНОВЛЕНИЕ
2.1. Архив необходимо распаковать в паку {ИмяАрхива}.
2.2. Распакованный файл переименовать в {ИмяАрхиваБезРасширения}. Расширение у распакованного должно остаться исходным.

При этом подразумевается, что бэкапим и восстанавливаем только один файл.

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

Для пункта 1.1. у меня есть параметры TC для архивирования:

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

a -dh -m3 -ag"_[yyyy.mm.dd hh.mm.ss]" "%O".rar ""%N""
Для пункта 1.2. есть код вбс для создания папки:

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

Option Explicit
Dim strFolderName as String
strFolderName = CreateObject("WScript.Shell").CurrentDirectory & "\X-ARC"
Dim objFSO As FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolderName) Then
    objFSO.CreateFolder(strFolderName)
End If
Для пункта 2.1. есть параметры кнопки TC для извлечения из архива:

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

x %N "%O"\
Для пункта 2.2 знаю, как переименовать распакованные файлы (учитывая, что WScript.Arguments(0) - это путь, куда были распакованы файлы):

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

Dim strPath as String
strPath = WScript.Arguments(0)
Dim objFSO As FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objFolder As Folder
Set objFolder = objFSO.GetFolder(strPath)
Dim objFile As File
Dim strOldFileName As String
Dim strNewFileName As String
Dim strFilePath As String
If objFolder.Files.Count = 1 Then
    For Each objFile In objFolder.Files
        strOldFileName = objFile.Name
        strFilePath = objFile.ParentFolder
        'Имя первой родительской папки
        strNewFileName = Right(strFilePath, Len(strFilePath) - InStrRev(strFilePath, "\", -1))
        'Добавляем исходное расширение
        strNewFileName = strNewFileName & "." & Right(strOldFileName, Len(strOldFileName) - InStrRev(strOldFileName, "."))
        'Переименовываем файл
        Name strFilePath & "\" & strOldFileName As strFilePath & "\" & strNewFileName
    Next
End If
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

garmonist

Вариант с батником:
Файл Rar_unRAR.bat

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

Set PathRAR="c:\Program Files\WinRAR\WinRAR.exe"
If %2#==B# (
	If Not Exist "%cd%\X-ARC\" MD "%cd%\X-ARC\"
	%PathRAR% a -dh -m3 -ag"_[yyyy.mm.dd hh.mm.ss]" "%cd%\X-ARC\%~n1.rar" "%~1"
) Else (
	If Not Exist "%cd%\%~n1\" MD "%cd%\%~n1\"
	%PathRAR% x "%~1" "%cd%\%~n1\"
	For %%I In ("%cd%\%~n1\*") Do Ren "%%I" "%~n1%%~xI"
)
И две кнопки:
- Бекап:

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

TOTALCMD#BAR#DATA
%commander_path%\Utilites\Rar_unRAR.bat
%N B
%commander_path%\WCMICONS.DLL,30
Бекап

1
-1
- Восстановить:

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

TOTALCMD#BAR#DATA
%commander_path%\Utilites\Rar_unRAR.bat
%N
%commander_path%\WCMICONS.DLL,31
Восстановить

1
-1
Win7 SP1 Ultimate x64, TC8.52a x64
garmonist
Сообщения: 14
Зарегистрирован: Пт апр 23, 2010 15:18

Сообщение garmonist »

gora
Честно говоря, когда увидел так мало кода, не поверил, что он рабочий. Но офигеть! Всё работает! Спасибо большое)
Аватара пользователя
Владимир М
Сообщения: 78
Зарегистрирован: Ср сен 16, 2009 20:19

Сообщение Владимир М »

Tol!k
да я уже понял свою ошибку, прошу прощения у форумян за то, что заср.л ветку бредом :oops:
p.s. сорри за оффтоп
Windows7 x64 TC 7.55a
Bubek
Сообщения: 20
Зарегистрирован: Сб июл 21, 2007 10:51

Сообщение Bubek »

Помогите сделать сделать такую же кнопку, как

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

TOTALCMD#BAR#DATA 
cmd /c setlocal&title 7z-packing... &for /f "tokens=1-6 delims=:., " %a in ('echo %date% %time:~0,8%') do for %i in ("%CD%") do 
for /f "delims=" %%R in ("%S") do cls&"C:\Program Files\7-Zip\7z" a -pПАРОЛЬ -scswin -m0=bcj -m1=lzma:d=21 -ms -mmt """""%%~nxi_[%%c.%%b.%%a-%%d.%%e.%%f].7z""""" """"%%R"""" 
keymgr.dll 
Создание зашифрованного 7z-архива 


-1 
но, чтобы она делала архив по названию файла(папки), без шифрования и пароля

пример: в папке Архив находится папка Данные, архивируем папку Данные и получаем название вида:
1. Дата_время_имя папки
2010.04.29_13.22.23_Данные.7z
Спасибо.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Bubek

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

TOTALCMD#BAR#DATA
cmd /c setlocal&title 7z-packing... &for /f "tokens=1-6 delims=:., " %a in ('echo %date% %time:~0,8%') do
"C:\Program Files\7-Zip\7z" a -scswin -m0=bcj -m1=lzma:d=21 -ms -mmt """""%%c.%%b.%%a_%%d.%%e.%%f_%N.7z""""" """"%N""""
keymgr.dll
Создание 7z-архива


-1
Win7 SP1 Ultimate x64, TC8.52a x64
Bubek
Сообщения: 20
Зарегистрирован: Сб июл 21, 2007 10:51

Сообщение Bubek »

gora
Спасибо, работает
Аватара пользователя
ytka00
Сообщения: 53
Зарегистрирован: Пт окт 13, 2006 18:57

Сообщение ytka00 »

а можно ли както с помощью кнопки переключать размер эскизов? было бы удобно переключаться между 4:3 и 16:9
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

pokoynik писал(а):а можно ли както с помощью кнопки переключать размер эскизов? было бы удобно переключаться между 4:3 и 16:9
Сомневаюсь. При изменении размера эскиза ТК будет перечитывать все эскизы по новой, поэтому это будет слишком долго. Да и размер эскизов поменять не так-то просто без захода в настройки или перезапуска ТК.
Аватара пользователя
ytka00
Сообщения: 53
Зарегистрирован: Пт окт 13, 2006 18:57

Сообщение ytka00 »

у меня они не кешируются, разницы в скорости отображения не заметил. При изменени размера в насторйках перезапуск не требуется
Ответить