Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Групповое переименование в подкаталогах
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Джорж



Joined: 02 Feb 2012
Posts: 10
Location: Sankt-Peterburg

Post (Separately) Posted: Sat Feb 04, 2012 11:00    Post subject: групповое переименование в подкаталогах Reply with quote

За подсказку о редакторе для переименовки спасибо, потренируюсь.
А вот сортировкой по по полному пути не получается.
Раньше делал просто: Alt+F7 - файлы на панель - Ctrl+M ,
но в таком случае файлики нумеруются/именуются все подряд,
а хотелось бы покаталожно. Не открывать же сотню папочек подряд
_________________
Я признателен всем, кто говорил мне «нет»: благодаря им я делал все сам.
У. Дайер
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Sat Feb 04, 2012 13:00    Post subject: Reply with quote

Боюсь, такую задачу тоталом не решить, в нем нет средств поиска N-го числа файлов в папке.

Остается скрипт (или утилита), который будет перебирать все папки из списка и находить в них 3 последних файла (построением сортированного массива или как-либо ещё).

Но если есть такой скрипт, то проще будет переименовывать файлы сразу из него, а не искать способы передать тоталовскому переименователю найденные файлы.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
alexey65536



Joined: 20 Jan 2006
Posts: 1056
Location: Taganrog

Post (Separately) Posted: Sat Feb 04, 2012 15:10    Post subject: Reply with quote

Скрин не виденSad
_________________
#199018
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Feb 04, 2012 17:02    Post subject: Reply with quote

Джорж wrote:
А вот сортировкой по по полному пути не получается.
Тут недавно писал. Или это понятно? Что именно не получается?

MVV wrote:
Но если есть такой скрипт
Если бы, да кабы. Wink Нет таких скриптов. А делать лень. Хотя как - прекрасно знаю.

P.S.: Не пора ли тему в Автоматизацию?
Back to top
View user's profile Send private message
Джорж



Joined: 02 Feb 2012
Posts: 10
Location: Sankt-Peterburg

Post (Separately) Posted: Tue Feb 07, 2012 02:35    Post subject: Reply with quote

Flasher wrote:
в режиме "файлы без покаталогов" отсортировать по полному пути в обратном порядке, выделить вторые файлы подкаталогов, открыть ИГП и переименовать выделенное, и так же поступить с первыми файлами

Спасиб, конечно. Настроил пользоват. колонки, Ctrl+B и что я вижу? Надо опять искать и выделять файлы вручную. Это так же удобно как отрыть и закрыть сотню папок. Знаете, бывает, смотрю сутками в экран и рябит в глазах от поиска файликов и перенумеровки. Давно бы пора скриптик написать для работников эл. архивов.
Плагином [=dirsizecalc.Количество файлов] пользуюсь- это удобно. А для поиска последних файлов в подкаталогах ничего не нашел подобного.

Скрин

 !  Avada:
Неформатная картинка заменена ссылкой. Соблюдаем правила форума!

_________________
Я признателен всем, кто говорил мне «нет»: благодаря им я делал все сам.
У. Дайер
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Feb 07, 2012 02:48    Post subject: Reply with quote

Джорж wrote:
Надо опять искать и выделять файлы вручную. Это так же удобно как отрыть и закрыть сотню папок.
Необоснованное приравнивание. В том то и дело, что каждый каталог нужно сперва открыть, потом выделить файлы, потом открыть ИГП с шаблоном, выполнить, закрыть ИГП, выйти из папки, зайти в другую и так проделывать сотни раз с учётом структур всех каталогов. В то время как тут всего лишь требуется пару раз выделить, никуда не переходя, и переименовать в указанном диалоге.
И показанная колонка на картинке не соответствует содержимому поля, что в посте по моей ссылке.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Tue Feb 07, 2012 17:54    Post subject: Reply with quote

Джорж wrote:
Надо опять искать и выделять файлы вручную.

Может быть, пригодится вот такой скрипт:
Code:
'----------------------------------------------------------------------------
'  Описание:  Выделить файлы и/или каталоги, следующие за выделенными,
'            либо предшествующие им. Cледующим за последним считается первый,
'            предшествующим первому - последний. При отсутствии исходного
'            выделения, выделенным считается файл/каталог под курсором.
'Требования: Необходима регистрация WSH Helper for TC by Volniy
'  Параметр: Если указан (любой), то выделить предшествующие.
'----------------------------------------------------------------------------
Option Explicit
Dim TCS, List, Cnt, ListS, Buf, PasDir, Dic, S, UpDown, CntNew, TextClip
Set TCS = CreateObject("TCScript.Helper")
UpDown = 1
If WScript.Arguments.Count > 0 Then UpDown = -1
TCS.LockTC True
TCS.Pause = 0
TextClip = TCS.GetTextFromClip
PasDir = TCS.GetSrcPath
TCS.SendCommand "cm_CopyFullNamesToClip", True
ListS = Split(TCS.GetTextFromClip,vbNewLine)
Set Dic = CreateObject("Scripting.Dictionary")
For Each S In ListS
  Dic.Add (S), ""
Next
TCS.SendCommand "cm_SelectAllBoth", True
TCS.SendCommand "cm_CopyFullNamesToClip", True
TCS.SendCommand "cm_ClearAll", True
List = Split(TCS.GetTextFromClip,vbNewLine)
For Cnt = 0 To UBound(List)
  If Dic.Exists(List(Cnt)) Then
    CntNew = Cnt+UpDown
    If CntNew > UBound(List) Then CntNew = 0
    If CntNew < 0 Then CntNew = UBound(List)
    Buf = Buf & Mid(List(CntNew), Len(PasDir) +2) & vbNewLine
  End If
Next
TCS.SetTextToClip CStr(Buf)
TCS.SendCommand "cm_LoadSelectionFromClip", True
TCS.SetTextToClip(TextClip)
TCS.LockTC False
Set TCS = Nothing
Wscript.Quit

Использовать в данном случае, например, так:
1. Ctrl+B (или Ctrl+Shift+B для выделенных).
2. Отсортировать по папкам с помощью колонки с путём (=tc.Путь).
3. Выделить (Num+) файлы по маске 001*.jpg. Переименовать их в ИГП (Ctrl+M).
4. Num+ 001*.jpg. Вызвать скрипт. Должны выделиться 002*.jpg. Ctrl+M.
5. Num+ 001*.jpg. Вызвать скрипт дважды. Должны выделиться 003*.jpg. Ctrl+M.
6. Num+ 001*.jpg. Вызвать скрипт с параметром.
Должны выделиться последние в подпапках. Ctrl+M.
7. Num+ 001*.jpg. Вызвать скрипт с параметром дважды.
Должны выделиться предпоследние в подпапках. Ctrl+M.
8. Num+ 001*.jpg. Вызвать скрипт с параметром трижды.
Должны выделиться предпредпоследние в подпапках. Ctrl+M.
Кнопка для сдедующих:
Code:
TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\VBS\Выделить следующие за выделенными.vbs"

wcmicons.dll,19
Выделить следующие за выделенными


-1
для предшествующих:
Code:
TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\VBS\Выделить следующие за выделенными.vbs"
UP
wcmicons.dll,18
Выделить предшествующие выделенным


-1
Back to top
View user's profile Send private message
Джорж



Joined: 02 Feb 2012
Posts: 10
Location: Sankt-Peterburg

Post (Separately) Posted: Sun Feb 12, 2012 18:52    Post subject: Reply with quote

sa wrote:
пригодится вот такой скрипт:

Пока не работает.
Сохранил скрипт как .vbs, запустил PowerPro 4.8p и открыл .vbs с пом. PowerPro.Script (C:\PROGRA~1\PowerPro.exe *Script RunFile %1)

На другой панели выделил перед этим свой 001.jpg
Вроде по инструкции делал ,а получил только кучу предупреждений, кот лень тут все выкладывать. Вот первые:

Че делать дальше?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Sun Feb 12, 2012 20:14    Post subject: Reply with quote

Джорж wrote:
Пока не работает.

Для работы приведённого скрипта не требуется PowerPro.
Дополнительно необходимо только скачать и зарегистрировать ActiveX-компонент http://wincmd.ru/plugring/script_helper.html WSH Helper for TC (автор Volniy) размером 36 килобайт.
Back to top
View user's profile Send private message
Джорж



Joined: 02 Feb 2012
Posts: 10
Location: Sankt-Peterburg

Post (Separately) Posted: Mon Feb 13, 2012 07:21    Post subject: Reply with quote

На работе нет инета. Как я его зарегистрирую?
_________________
Я признателен всем, кто говорил мне «нет»: благодаря им я делал все сам.
У. Дайер
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Mon Feb 13, 2012 07:38    Post subject: Reply with quote

Джорж wrote:
Как я его зарегистрирую?

Из справки к Script Helper ActiveX for Total Commander:
Quote:
Установка и удаление
~~~~~~~~~~~~~~~~~~~~

Для установки и регистрации в системе:
просто запустите TCWSHelp.exe с командной строкой
TCWSHelp.exe /REGSERVER

Важно!
При перемещении в другую папку нужно повторить регистрацию!

Для дерегистрации и удаления:
запустите TCWSHelp.exe со следующей командной строкой
TCWSHelp.exe /UNREGSERVER
затем удалите и сам файл

Джорж wrote:
Че делать дальше?

Чтобы использовать кнопки один к одному, нужно код скрипта скопировать и сохранить в файл Выделить следующие за выделенными.vbs, поместить этот файл в папку VBS в каталоге TC. Код каждой кнопки скопировать и вставить через контекстное меню в панель инструментов TC.
Файлы jpg должны быть выделены не на другой панели, а на активной.
Back to top
View user's profile Send private message
Джорж



Joined: 02 Feb 2012
Posts: 10
Location: Sankt-Peterburg

Post (Separately) Posted: Mon Feb 20, 2012 02:49    Post subject: Reply with quote

Извини(те) что поздно, sa, но у меня вместо выполнения скрипта опять какая-то хрень выскакивает:

Запускаю C:\Program Files\TC UP\VBS\Выделить следующие за выделенными.vbs с помощью wscript.exe v5.6.0.8820

Непонятно должен ли работать в это время Script Helper, т.к. после выполнения "C:\Program Files\TC UP\WSH\TCWSHelp.exe" /REGSERVER этой программы нет в списке задач. TCWSHelp.exe работает только пока не закроешь окошко:
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Feb 20, 2012 09:49    Post subject: Reply with quote

Джорж
Попробуй зарегистрировать.
TCWSHelp - это не утилита, а компонент. Его достаточно выполнить (зарегистрировать) один раз и закрыть информационное окно.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2693

Post (Separately) Posted: Mon Feb 20, 2012 10:20    Post subject: Reply with quote

Джорж
Возможно, нарушена ассоциация на файлы с расширением .vbs (могло произойти при экспериментах с загрузкой VBS-файлов в PowerPro).
Для восстановления ассоциации попробуй в командной строке тотала ввести
Code:
ASSOC .VBS=VBSFile
и нажать Shift+Enter. Затем надо закрыть окно DOS-программы и проверить работу предлагавшейся кнопки.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group