Ru-Board.club
← Вернуться в раздел «Программы»

» TCIMG

Автор: suomifinland
Дата сообщения: 04.04.2015 19:57
Вы меня правильно поняли, но я хочу на последнем этапе операции не вызывать диалоговое окно TCIMG, а просто нажать Inter вследствии чего и имя файла папки изменилось и время создания файла изменилось на текущее.

Мне не хочется делать лишнее движение, а именно вызывать кнопкой TCIMG или работать в окне TCIMG, это ноа мой взгляд лишнее.


Нет без буфера обмена.

Имеется файл Урок1 я его переименовываю в Урок 1 и нажимаю кнопку Enter, все дата файла изменилась на текущее.
Автор: Abel11
Дата сообщения: 04.04.2015 20:15
suomifinland 19:57 04-04-2015
Цитата:
Имеется файл Урок1 я его переименовываю в Урок 1 и нажимаю кнопку Enter, все дата файла изменилась на текущее.

Ну как может измениться и дата при редактировании имени тоталовским обычным способом, никак!, вы вызываете функцию редактирования и только. TCIMG в данном случае не принимает никакого участия, поэтому и помочь Вам не может)))

Цитата:
Мне не хочется делать лишнее движение, а именно вызывать кнопкой TCIMG или работать в окне TCIMG, это ноа мой взгляд лишнее.

Нажали на кнопку, появилось диалоговое окно с именем, внесли изменение и Enter или ОК, где здесь лишнее движение, если вы вызываете тоталовским методом, без кнопки, то или двойным кликом по объекту или через контекстное меню, в обоих случаях на одно движение больше получается, чем при вызове диалогового окошка TCIMG .



Добавлено:

suomifinland 19:57 04-04-2015
Цитата:
Имеется файл Урок1 я его переименовываю в Урок 1 и нажимаю кнопку Enter, все дата файла изменилась на текущее.

Вот Вам кнопочка для именно такого переименования, поставит пробел перед счетчиком и изменит дату модификации на системную

Код: TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG\TCIMG.exe
renms=%L||&&(\d+)!!~~$1||#G5||modfs<0||#SISDATE>
%COMMANDER_PATH%\Wcmicons.dll,19
В именах выделенных объектов поставить перед нумерацией пробел и изменить дату модификации на системную дату

Автор: Abel11
Дата сообщения: 05.04.2015 14:43
В вышеуказанной кнопке "Добавление пробела перед нумерацией" проведена корректировка параметров, чтобы при повторном использовании команды не появлялось больше одного пробела, на случай, если уже отредактированный объект повторно попал в зону выделения для редактирования этой же кнопкой. Перекопировать, желающим ее использовать в дальнейшем.
Автор: chistylja
Дата сообщения: 07.04.2015 13:19
Можно ли переименовать все файлы внутри папки в имя этой папки? Есть папки, в них много разных типов файлов, нужно чтобы файлы получили имя папки и нумерация была своя у каждого типа.
Автор: Abel11
Дата сообщения: 07.04.2015 22:26
Думаю, так как многие используют TCIMG из своей папки, то имеет смысл выкладывать не кнопки из TC ( т.к. пути к TCIMG.exe разные), а просто две строки, первая строка команда(перечень параметров), вторая строка описание задачи, а для того, чтобы эти две скопированные строки преобразовать в кнопку TC, для последующей вставки на панель инструментов Total Commander, надо завести одну кнопку и в последующем, при копировании двух строк, применять ее. И так, еще раз, скопировали две строки (команда и описание), применяете нижеприведенную кнопку и у вас на панели инструментов TC появится, в конце, кнопка с параметрами, описанием и иконкой, которую вы предпочтете видеть постоянно при создании новой кнопки.

Код:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG\TCIMG.exe
exect=$var_ac=StringRegExp(ClipGet()&@CR&@CR,'(?m)^([^\r\n]*)',3)||$var_ab=StringSplit('TOTALCMD#BAR#DATA|%%COMMANDER_PATH%%\TCIMG\TCIMG.exe|#|Wcmicons.dll,19|','|',2)||$var_ab[2]=$var_ac[0]||$var_ab[4]=$var_ac[1]||_ArrayToClip($var_ab,@CRLF) barbt=1||-1
%COMMANDER_PATH%\Wcmicons.dll,19
Из 2-х строк в буфере обмена (команда и описание) создать кнопку TCIMG для Total Commander и записать в буфер обмена
Автор: coherent
Дата сообщения: 08.04.2015 11:12
Abel11

Цитата:
Думаю, так как многие используют TCIMG из своей папки, то имеет смысл выкладывать не кнопки из TC ( т.к. пути к TCIMG.exe разные), а просто две строки...

Очень разумно. Сам хотел такое предложить, но ход не дошел. Меня всегда удивляла практика скидывания файлов TCIMG или MENUIMG или другой утилиты прямо в корень Total Commander-а, создавая совершенно ненужную кашу. ИМХО, намного более удобно и прозрачно иметь все это в своих отдельных папках.
Автор: chistylja
Дата сообщения: 08.04.2015 13:21
Abel11

Цитата:
Переименовать в выделенных папках все файлы (1-го уровня) в имя этих папок + счетчик _01, каждому типу файла свой счетчик.

Большое Спасибо! Только вы не думайте, я справку читаю, если не нахожу необходимое, то спрашиваю здесь. Интересно, а можно такую кнопочку, чтобы могла переменовать все выделенные файлы в открытой папке в имя файла под курсором, причем если имя файла под курсором с нумерацией, то взять за основу только чистое имя без нумерации, ну например у меня курсор на файле tula-1 мне надо переименовать все выделенные файлы в имя tula, опять же нумерация у каждого типа файла своя. Вот такая фантазия
Автор: Andrey_A_A
Дата сообщения: 08.04.2015 20:53

Цитата:
Сам хотел такое предложить

coherent, каждый куда хочет, туда и кладёт утилиту, об этом и написано в справке в основных вопросах
Лично для меня нет никакой каши, а наоборот много плюсов, когда утилита лежит в корне тотала...

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


Цитата:
можно такую кнопочку, чтобы могла переменовать все выделенные файлы в открытой папке в имя файла под курсором, причем если имя файла под курсором с нумерацией, то взять за основу только чистое имя без нумерации, ну например у меня курсор на файле tula-1 мне надо переименовать все выделенные файлы в имя tula, опять же нумерация у каждого типа файла своя


chistylja, вот пару примеров как это можно реализовать:

[more=Подробнее:]
Переименовать выделенные файлы по счётчику, каждому типу добавляется отдельный счётчик, приставка к имени Name-

Код: TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
renms=%L||##Name-cntr<1|1|3|1>||ext<>||[double]
%COMMANDER_PATH%\Wcmicons.dll,1
Переименовать выделенные файлы по счётчику, каждому типу добавляется отдельный счётчик, приставка к имени Name-

0
-1
Автор: chistylja
Дата сообщения: 08.04.2015 21:33
Andrey_A_A

Цитата:
Переименовать выделенные файлы по счётчику, каждому типу добавляется отдельный счётчик, приставка к имени берётся из файла под курсором, отбросив конечную нумерацию и дефис

Спасибо большое, все работает!!!!!
Автор: Abel11
Дата сообщения: 08.04.2015 22:06
chistylja 13:21 08-04-2015
Цитата:
переменовать все выделенные файлы в открытой папке в имя файла под курсором

Для указанного Вами примера, автор выше выложил кнопочку, я же постараюсь немного обобщить, чтобы не возникали новые примеры такого типа.
Попробуем без выделения, как я понял команда должна отработать со всеми находящимися файлами в активной панели, тогда сделаем так, просто установим курсор на том объекте (можем получать имя как с папки, так и с файла), с которого надо получить имя и применим кнопку, она сама выделит все файлы и переименует по заданному в параметрах условию. Из файла под курсором получаем только буквенную часть имени, так что можно применять, если нумерация вначале, в конце, небуквенные симвовалы в середине будут заменены пробелом .

1. Переименовать все файлы текущей панели в имя объекта (папки или файла) под курсором (копируется только буквенная часть имени), для каждого типа файла отдельная нумерация.

Код: listt=%P%N||##path<4>||&&(?i)[^a-zа-яё\s]!!~~||#G7 tcimg=50~~$cm3322 renms=[tc=AL]||clpget||$$_cntr<1|1|2>||ext<>||[double] tcimg=50~~$cm540
выделить все файлы в активной панели и переименовать их в очищенное имя(+ счетчик) объекта под курсором (для каждого типа файла отдельный счетчик _01)
Автор: chistylja
Дата сообщения: 09.04.2015 10:13
Abel11
Шикарно!!! О таком я и не мечтала даже, как все просто и удобно. Огромный респект автору и Вам!
Автор: coherent
Дата сообщения: 09.04.2015 19:59
Abel11
Подскажите, пожалуйста, как в ТС реализовать кнопку для выполнения команды распаковки (/extract_all) файла под курсором (%P%N) в папку с именем файла без расширения ("%P%O")? Например, если имя файла setup.exe, то нужно выполнить команду:
<path>\setup.exe /extract_all:"<path>\setup"
Автор: Abel11
Дата сообщения: 10.04.2015 00:31
coherent 19:59 09-04-2015
Цитата:
как в ТС реализовать кнопку для выполнения команды распаковки (/extract_all) файла под курсором (%P%N) в папку с именем файла без расширения ("%P%O")?

А чем эта кнопка не устраивает?
Код: tcimg=$cm509 buttn=TDLGUNZIPALL||+tcTCUNPACK1|$h||+tcTCUNPACK6||+tcTCUNPACK7
Распаковать выделенные архивы в именные папки
Автор: coherent
Дата сообщения: 10.04.2015 10:27
Abel11
Моя ошибка, извиняюсь. Я не сказал, что речь идет об установщиках InstallShield, которые распаковываются такой командой:
<path>\setup.exe /extract_all:"<path>\setup"
Предложенная Вами команда не извлечет файлы в том виде, как это сделает команда /extract_all. Я проверял.
Автор: Abel11
Дата сообщения: 10.04.2015 12:08
coherent 10:27 10-04-2015
Цитата:
Предложенная Вами команда не извлечет файлы в том виде, как это сделает команда /extract_all

К сожалению я не знаком с InstallShield и не знаю в каком виде она извлекает при /extract_al.

Автор: coherent
Дата сообщения: 10.04.2015 13:06
Abel11

Цитата:
К сожалению я не знаком с InstallShield и не знаю в каком виде она извлекает при /extract_al.

Я думал, что задачу можно просто свести к такому - для файла под курсором выполнить команду, образно говоря, такую:
%P%N /extract_all:"%P%O"
Но похоже, не вдаваясь в тонкости распаковки, не получится? Эх, жаль!
Автор: Abel11
Дата сообщения: 10.04.2015 15:08
oshizelly 12:39 10-04-2015
Цитата:
убрать пробелы в начале имени файла

Универсальный вариант.
Переименовать выделенные объекты убрав пробелы в начале имени, в конце (быает нужно для передачи командам) и удалить повтор пробельных символов

Код: renms=%L||#G7
Переименовать выделенные объекты удалив пробелы в начале, в конце имени и повторяющиеся пробелы
Автор: oshizelly
Дата сообщения: 10.04.2015 21:53
Abel11 15:08 10-04-2015
Цитата:
Универсальный вариант. Переименовать выделенные объекты убрав пробелы в начале имени, в конце (быает нужно для передачи командам) и удалить повтор пробельных символов

Спасибо, работает.
Автор: chistylja
Дата сообщения: 17.04.2015 17:54
Если можно, нужна кнопочка, имеется файл D:\Приход\Поступления\Поступления.txt, чтобы при нажатии, в конец этого файла, с новой строки с отступом, вставлялась текущая дата [17.04.2015 17:33:32] , а потом, тоже с новой строки, вставлялось заранее скопированное. Очень нужна такая кнопка, спасибо!
Автор: Abel11
Дата сообщения: 17.04.2015 18:44
chistylja 17:54 17-04-2015
Цитата:
чтобы при нажатии, в конец этого файла, с новой строки с отступом, вставлялась текущая дата [17.04.2015 17:33:32] , а потом, тоже с новой строки, вставлялось заранее скопированное.

Прописанному в параметрах кнопки файлу (D:\Приход\Поступления\Поступления.txt) добавить в конец, с новых строк, дату и содержимое буфера обмена. Создается резервная копия файла, которая при каждом новом изменении обновляется.

Код: textt=D:\Приход\Поступления\Поступления.txt||$$@CRLF~~[[Info=s33].[Info=s32].[Info=s31]~~[Info=s42]]@CRLFclpget
В содержимое файла "Поступления.txt" добавить в конец дату + содержимое буфера обмена
Автор: chistylja
Дата сообщения: 17.04.2015 19:16
Abel11!
Огромное СПАСИБО! Как все просто оказвается)))
Стесняюсь спросить, а если файлов несколько и они в разных местах, можно ли как-то одновременно им всем добавить то же самое?
Автор: Aleks431
Дата сообщения: 17.04.2015 20:38
Если путь к файлу (Поступления.txt) содержит пробелы, то обязательно надо заключать путь в кавычки, иначе не работает. И %L добавить можно.
textt="D:\Приход\Поступления 2015\Поступления.txt"||$$@CRLF~~[[Info=s33].[Info=s32].[Info=s31]~~[Info=s42]]@CRLFcliptext %L
А почему clpget, а не cliptext? У меня оба работают.
И еще, можно добавлять буфер с датой в начало файла, а не в конец документа?
Автор: Abel11
Дата сообщения: 17.04.2015 21:41
chistylja 19:16 17-04-2015
Цитата:
а если файлов несколько и они в разных местах, можно ли как-то одновременно им всем добавить то же самое?

Для это вам надо создать файл-список с полными путями к этим файлам, назовем его List.txt
_______________ List.txt _______________
D:\Приход\Поступления\Поступления.txt
--------путь к другому файлу-----------
--------путь к другому файлу-----------
___________________________________

Далее мы просто указываем в начале параметров путь к этому файлу List.txt, ну например

Код: textx=C:\List.txt||$$@CRLF~~[[Info=s33].[Info=s32].[Info=s31]~~[Info=s42]]@CRLFclpget
В содержимое файлов из списка "C:\List.txt" добавить в конец дату + содержимое буфера обмена
Автор: chistylja
Дата сообщения: 17.04.2015 23:44
Abel11!
Спасибо!!! Создала список путей, все работает супер и главное быстро. Эх, знать бы раньше, столько времени потрачено и лишней работы проделано.
Автор: suomifinland
Дата сообщения: 18.04.2015 07:28
Обращаюсь с просьбой)))) Можно ли составить с помощью TCIMG алгоритм, при котором, любой офисный файл, перемещенный в папку klass (в этой папке есть и множество других папок, но klass это корень) так вот при перемещении файла, время создания его менялось бы на текущее системное..? Т.е. стоит задача изменения времени, даты создания файла на текущее системное, при перемещении его в определенную папку.
Автор: Abel11
Дата сообщения: 18.04.2015 09:00
suomifinland 07:28 18-04-2015
Цитата:
стоит задача изменения времени, даты создания файла на текущее системное, при перемещении его в определенную папку.

Нижеприведенная кнопка перемещает выделенные объекты (папки, файлы) в противоположную панель с изменением даты на текущую. Если что не так поправьте меня.

Код: TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG\TCIMG.exe
moves=%L||"%t"||modfs<0||#SISDATE>
Wcmicons.dll,19
переместить в другую панель выделенное, не заменяя имеющиеся элементы, изменить перемещаемым объектам дату модификации на системную дату
Автор: Aleks431
Дата сообщения: 18.04.2015 09:34
Abel11
После срабатывания кнопки (и многих других) надо обновить страницу чтобы увидеть результат (новый файл и бэкак рядом). Добавление в конце %L как-раз как бы ее и обновляет.
Автор: Abel11
Дата сообщения: 18.04.2015 09:49
Aleks431, не надо выдумывать, надо элементарно не полениться и хотя бы в справке посмотреть Дополнение №7 "Параметры командной строки Total Commander"
во-первых, %L никакого отношения к обновлению панели (а не страницы) не имеет.
во-вторых, для чего нужно там обновление панели, если мы указываем путь к файлу и директория с ним может быть вообще не открыта.
Для обновления панели используется параметр upd<Number>, где Number - значение обновления панели(ей):
1 - обновить активную панель.
2 - обновить обе панели, вернуться в активную.
3 - обновить другую панель, вернуться в активную.
4 - обновить активную панель, перейти в другую.
5 - обновить другую панель, остаться в другой.
6 - обновить обе панели, остаться в другой.
7 - не обновлять.
Автор: suomifinland
Дата сообщения: 18.04.2015 10:16
Abel11
То что нужно, Вы не представляете как Вы мне помогли!
Автор: chistylja
Дата сообщения: 18.04.2015 23:29
Abel11
Хочу попросить Вас, а можно после применения этой кнопки

Код: textx=C:\List.txt||$@CRLF~~[[Info=s33].[Info=s32].[Info=s31]~~[Info=s42]]@CRLFclpget
В содержимое файлов из списка "C:\List.txt" добавить в конец дату + содержимое буфера обмена

Страницы: 123456789101112131415161718192021222324252627282930313233

Предыдущая тема: дубль


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.