[Plugin Request] File Duplicator

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

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

Ответить
DeYura
Сообщения: 3
Зарегистрирован: Чт сен 06, 2007 15:12

[Plugin Request] File Duplicator

Сообщение DeYura »

Очень нужен плагин для создания дубликата файла (копии на всякий случай) по нажатию комбинации кнопок Ctrl+D.
А то уже надоело делать Copy, потом Paste - это довольно долго + изменяеться содержимое буфера обмена.

Зачем нужен: например вы редактируете конфиг или код программы, скопировали в буфер что-то, но потом подумали, что неплохо бы сохранить резервную копию файла. Делаете Copy, потом Paste, потом лезете обратно в файл и копируете данные, которые были в буфере перед этим - всё это муторно и долго.

Приблизительно хотелось чтобы плагин делал так:
исходный файл "file.txt"
продублированный "file_20070925233640.txt"
где "20070925233640" - дата и время подряд

Думаю создание такого плагина много времени не займёт, буду очень благодарен.
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Зачем плагин? Вполне подойдёт скрипт на VBS+Script Helper. В RU.TCKB есть скрипт "Копирование в каталог с именем файла", тебе, скорее всего, подойдёт даже он. Если нет - в TCKB много примеров скриптов, они очень простые, и переделать один из них в точности под твои нужды труда не составит. Готового решения не даю.
Ссылка на TCKB: http://www.tckb.megabyte-web.ru/wiki/Оф ... ия_RU.TCKB
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

2DeYura
Тебе намного облегчит жизнь программа-менеджер буфера обмена. Я пользуюсь CLCL, но она конфликтует с последними версиями FlashGet.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

DeYura
А зачем через буфер? F5 или Shift+F5 не катят?

Если уж нужен скрипт, то вот VBS (Script Helper не используется):

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

'=======================================================
' Копирование выделенных файлов\папок в текущий каталог
'   с добавлением текущих даты и времени в имя:
' {Имя}_YYYYMMDDhhmmss.{Расширение}

' Параметры вызова из TC:
' %L
'=======================================================
Option Explicit
If WScript.Arguments.Count = 0 Then
  MsgBox "Не заданы параметры!", vbOKOnly + vbCritical, "Копирование"
  WScript.Quit
End If
Dim FSO, OTF, List, F
Set FSO = CreateObject("Scripting.FileSystemObject")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1, False)
List = OTF.ReadAll
OTF.Close
Set OTF = Nothing

For Each F In Split(List, vbNewLine)
  If FSO.FileExists(F) Then
    FSO.CopyFile F, FSO.GetFile(F).ParentFolder.Path & "\" &_
                    FSO.GetBaseName(F) & "_" & DateTime & "." &_
                    FSO.GetExtensionName(F)
  End If
  If FSO.FolderExists(F) Then
    FSO.CopyFolder Left(F, Len(F) - 1), Left(F, Len(F) - 1) & "_" & DateTime
  End If
Next
Set FSO = Nothing
WScript.Quit

Function DateTime
  Dim d, t
  d = Date
  t = Time
  DateTime = Year(d) & Right(0 & Month(d), 2) & Right(0 & Day(d), 2) &_
             Replace(t, ":", "")
End Function
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Переношу в Автоматизацию.
Почему же, ё-моё, ты нигде не пишешь "ё"?
DeYura
Сообщения: 3
Зарегистрирован: Чт сен 06, 2007 15:12

Сообщение DeYura »

Спасибо Batya
DeYura
Сообщения: 3
Зарегистрирован: Чт сен 06, 2007 15:12

Сообщение DeYura »

Получилось запихнуть в панель ввиде кнопки.
Всё работает и даже с папками.

Подскажите, а как назначить ему горячую клавищу?
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Подскажите, а как назначить ему горячую клавищу?
Создать пользовательскую команду (есть в TC 7.0+), назначить на неё.
Ответить