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 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



Joined: 15 Dec 2004
Posts: 2221
Location: Москва, Россия

Post (Separately) Posted: Wed Apr 05, 2023 12:57    Post subject: Собственная быстрая сортировка/список файлов Reply with quote

Друзья, прошу не пинать ногами - давно не парился с настройками TC - всего хватало. А тут не соображу, как проще сделать...
Есть набор файлов. Нужно отдать внешней программе (батнику) список файлов в конкретном порядке, который в этот момент не может быть получен текущими сортировками с последующей отправкой %WL, а зависит только от моего желания в этот момент.
Например, есть файлы 1.txt, 2.txt, 3.txt, 4.txt. Исходя из своих соображений, мне нужно быстро отправить батнику список в порядке - 4.txt, 3.txt, 1.txt, 2.txt.
Как это проще и удобнее сделать?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2625

Post (Separately) Posted: Wed Apr 05, 2023 14:44    Post subject: Reply with quote

Можно командой LOADLIST загрузить в панель список из текстового файла, где они уже должны быть расположены в нужном порядке.
Затем в панели выделить всё и отправить через %WL батнику.
Хотя это, наверное, не просто и не удобно...
Список можно получить через редактор в инструменте группового переименования (ИГП). В самом ИГП можно сортировать файлы в произвольном порядке.
В поле <Список файлов> отдельные элементы могут быть перемещены вверх/вниз с помощью Drag&Drop или клавиш Shift+стрелки.


Last edited by sa on Wed Apr 05, 2023 17:08; edited 1 time in total
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 286

Post (Separately) Posted: Wed Apr 05, 2023 15:44    Post subject: Reply with quote

Batya
sa
Ну тут на самом деле, если есть уже готовый список с нужной сортировкой, то уже не надо LOADLIST’ом обрабатывать. Можно этот список сразу батником построчно и обработать, без промежуточных действий. По сути, тут решение, думаю, и будет состоять в том, что в начале будет создаваться временный файл-список, и далее построчно обрабатываться. Вопрос - как получить нужную сортировку? Если нужна обратная сортировка, то можно попробовать встроенную в windows утилиту sort.exe с параметром /R.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2625

Post (Separately) Posted: Wed Apr 05, 2023 16:01    Post subject: Reply with quote

Monarch-LFV wrote:
Если нужна обратная сортировка

Так обратная сортировка есть и в самом TC. Хотя в примере - не обратная (4 3 1 2). Или это о чём-то другом?
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 286

Post (Separately) Posted: Wed Apr 05, 2023 16:26    Post subject: Reply with quote

sa
Упустил такую сортировку. Такую сортировку без других вводных не получишь. Комп не экстрасенс, чтобы угадывать, что вы задумали. Надо ему явно задать логику.
Перетаскивать по своему усмотрению можно в ИГП, а как с него получить список без переименования?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2625

Post (Separately) Posted: Wed Apr 05, 2023 16:30    Post subject: Reply with quote

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



Joined: 15 Dec 2004
Posts: 2221
Location: Москва, Россия

Post (Separately) Posted: Wed Apr 05, 2023 20:27    Post subject: Reply with quote

Monarch-LFV wrote:
Комп не экстрасенс, чтобы угадывать, что вы задумали. Надо ему явно задать логику.

Вот я и озадачился - как эту логику, которая только в моей голове, просто до TC донести.

sa wrote:
В самом ИГП можно сортировать файлы в произвольном порядке.

sa wrote:
При закрытии редактора ИГП запрашивает разрешение на загрузку изменённых имён.

Вот, уже интереснее. Но у меня нет никакого исходного списка. У меня в голове есть желание обработать файлы батником в определённом порядке. Как-нибудь можно сохранение списка в ИГП ("Редактировать имена..." или как-то ещё) отправить произвольной команде на вход?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2625

Post (Separately) Posted: Wed Apr 05, 2023 22:08    Post subject: Reply with quote

Batya
А вариант с сохранением списка из ИГП (точнее из Редактировать имена…) в один и тот же файл не подойдёт? Скажем, обновлять каждый раз Список.txt на Рабочем столе.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 286

Post (Separately) Posted: Thu Apr 06, 2023 00:58    Post subject: Reply with quote

Batya
Есть еще идея: как-то для себя делал скрипт, который пишет в заранее заданный альтернативный поток NTFS любую информацию, например счетчик. Плагином NTFS_diz вывести этот поток в колонку и по нему сортировать.
Собственно скрипт для того и делал, чтобы сортировать по своему усмотрению.
Выложил сюда.
Там пару скриптов: для задания любых комментариев в поток comment, и задания счетчика выделенных файлов Count. Также кнопка для Akelpad, которой можно вручную менять инфо в потоке.
Back to top
View user's profile Send private message
CruelAsm



Joined: 17 May 2010
Posts: 2
Location: Minsk, Belarus

Post (Separately) Posted: Thu Apr 06, 2023 11:13    Post subject: Reply with quote

А файлов вообще много?
Если десяток-два, то сделать кнопку, добавляющую имена в текстовый файл, и перетаскать их туда в нужном порядке. Потом второй кнопкой скормить этот файл батнику.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Thu Apr 06, 2023 12:00    Post subject: Reply with quote

Так всё же есть логика сортировки или надо строго ручками сортировать?

Если логика есть, то написать контентный плагин.

Если строго ручками, то тоже контентный плагин может позиции в файле считывать и выводить.


И такое впечатление, что всё же надо понять, какая цель всего этого действа. А то смысл биться над решением задачи, если задача может быть совсем другой.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2221
Location: Москва, Россия

Post (Separately) Posted: Thu Apr 06, 2023 15:58    Post subject: Reply with quote

Ну, цель - обработать файлы в определённом порядке, который известен только мне с профессиональной точки зрения. Файлов, обычно, немного - не больше десятка. Сама обработка - это отладочное действие, и хранить какую-то промежуточную/временную/мусорную информацию не очень хотелось бы. Максимум - где-то в сторонке иметь один-два файла с постоянным именем, но временной информацией.
Про идею хранить сортировочную информацию в ntfs-потоке или комментариях я подумаю.
Сейчас мне больше понравилась идея с drag-and-drop сортировкой в ИГП (т. к. файлов немного) с последующем сохранением в файл с постоянным путём-именем, а потом скармливания этого пути батнику. Попробую, насколько этим способом будет удобно пользоваться практически - что называется "на автомате".
Друзья, спасибо за помощь!
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 286

Post (Separately) Posted: Thu Apr 06, 2023 16:17    Post subject: Reply with quote

Batya
Если файлов немного, то можно предложить кнопку, которая вручную "собирает" файл-список:
Code:
TOTALCMD#BAR#DATA
%COMSPEC% /C chcp 65001 &Type >>%temp%\Filelist.txt
%UL
wcmicons.dll,61
Добавить файл(ы) во временный файл-список

Можно сделать как команду и навешать на горячую клавишу. Другую кнопку на удаление файла списка. А ваш батник настроить на обработку этого собранного файла в %Temp%.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2221
Location: Москва, Россия

Post (Separately) Posted: Thu Apr 06, 2023 16:34    Post subject: Reply with quote

Monarch-LFV
Хм... Кажется, весьма удобное решение Very Happy
Благодарю!
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 286

Post (Separately) Posted: Thu Apr 06, 2023 17:06    Post subject: Reply with quote

Batya
Единственное, файл-список будет в UTF-8 с BOM. Обрабатывающий батник на первой строчке выдаст ошибку и не обработает первый файл.
Можно сделать так:
Code:
TOTALCMD#BAR#DATA
%COMSPEC% /C echo >>%temp%\Filelist.txt
%P%N
wcmicons.dll,61
Добавить файл во временный файл-список

Но тогда лишитесь возможности обрабатывать юникодные имена файлов.
Честно, сам не знаю, как формировать файл-список в юникоде без BOM.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 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