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
Velvet211



Joined: 27 Sep 2009
Posts: 11

Post (Separately) Posted: Wed Aug 27, 2014 15:50    Post subject: Поиск дубликатов по именам файлов разного типа Reply with quote

Добрый день! Подскажите..
Ситуация такая: каждый раз при копировании на винт фотографий с флешки, помещаю raw файлы в отдельную папку. Просматриваю jpg через ctrl+q в соседнем окне, выделяю ненужные фотки и потом их удаляю. Соответственно, какие-то остаются (достаточно много остается, но примерно половина удаляется). Далее, чтобы не забивать жесткий диск, удаляю те же равы просто глазами сравнивая в разных панелях raw и jpg. Так вот - задолбался)) Есть ли какая-то возможность удалять файлы синхронно? Или, скажем, сравнивать каталоги по именам файлов (но без типов) и отмечать только отсутствующие в одном из окон?

Заранее благодарен!
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Aug 27, 2014 16:23    Post subject: Reply with quote

Отчего с подфорумом мимо кассы?
Поиск в руки - 1, 2.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Wed Aug 27, 2014 16:58    Post subject: Reply with quote

Velvet211
Если raw-файлы помещены в подпапку по отношению к папке с jpg-файлами (в моём примере подпапка называется SubDirRaw), то можно в папке с jpg-файлами нажать Ctrl+В, с помощью NUM + ввести маску для выделения файлов
Code:
*.jpg>SubDirRaw\*.raw
и затем инвертировать выделение клавишей NUM *.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9010
Location: Россия, Саратов

Post (Separately) Posted: Wed Aug 27, 2014 17:03    Post subject: Reply with quote

Velvet211
Всё это отвечалось на форуме и/или есть в справке. И про назначение подфорума "Секреты и советы" говорилось множество раз.
Замечание за нарушение правил форума. Тема перенесена.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.


Last edited by Avada on Wed Aug 27, 2014 18:34; edited 1 time in total
Back to top
View user's profile Send private message
Velvet211



Joined: 27 Sep 2009
Posts: 11

Post (Separately) Posted: Wed Aug 27, 2014 17:21    Post subject: Reply with quote

Вот ведь гики. Я искал. Не нашел

Спасибо за ответ
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Wed Aug 27, 2014 17:46    Post subject: Reply with quote

Можно и кнопку создать:
Code:
TOTALCMD#BAR#DATA
cm_DirBranch,em_SelRaw,cm_ExchangeSelection

WCMICONS.DLL,39
Выделить raw-файлы без одноимённых jpg-файлов


-1
, для чего потребуется дополнительно завести пользовательскую команду em_SelRaw такого вида
Code:
SELECTFILES *.jpg>SubDirRaw\*.raw
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2513
Location: Большая деревня Москва

Post (Separately) Posted: Wed Aug 27, 2014 20:02    Post subject: Reply with quote

Есть набор файлов типа:
Code:
1.abc
1.def
2.abc
2.def
3.abc
3.def
...
Иногда один из файлов пропадает, то есть получается (если пропал 1.def)
Code:
1.abc
2.abc
2.def
...
Как найти одинокий, лишенный пары, файл *.abc? Раньше я делал так:
Code:
SELECTFILES *.def>*.abc
В результате выделяются все файлы, кроме 1.abc. Но это неудобно, и я нажимал "звездочку". Все - цель достигнута: выделен 1.abc.
Вот этот пост sa натолкнул меня на мысль использовать "сцепку команд", то есть
Code:
SELECTFILES *.def>*.abc;cm_ExchangeSelFiles
Но тогда в результате выделяются все файлы *.def. Мало того, что оно мне не надо, но получается, что результат выполнения двух команд раздельно отличается от выполнения их в сцепке. Почему? Как решить задачу?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Wed Aug 27, 2014 20:42    Post subject: Reply with quote

Вахмурка
Команду с параметрами (SELECTFILES *.def>*.abc) надо "упрятать" в пользовательскую и уже её использовать в сцепке команд.
P.S.
Разделителем в сцепке должна быть запятая.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2513
Location: Большая деревня Москва

Post (Separately) Posted: Wed Aug 27, 2014 21:25    Post subject: Reply with quote

Спасибо, заработало. Решение, кстати, нетривиальное. Не напишешь (в ТСКВ, например) статейку по сцепке команд? Я уже тут задал ряд вопросов, но народ реагировал кисло.
Вот еще вопрос. Известно, что файлы hypertext markup language могут иметь разные расширения: htm, html, shtml (может, еще какие есть, но пока остановлюсь). Так вот, в команде SELECTFILES как таковой вот такая маска
Code:
*.*htm*
работает как часы. А если добавить ">", то увы - отмечаются все *.jpg (изначально было *.html и одноименные *.jpg). Где описаны ограничения на маску после ">"? (до ">" все пучком: команда
Code:
SELECTFILES *.*htm*>*.jpg
работает правильно)
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Wed Aug 27, 2014 22:04    Post subject: Reply with quote

Вахмурка
Попробовал команду
SELECTFILES *.*htm*>*.jpg
У меня выделяет, как и положено, только одноимённые с .*htm* файлы .jpg, а не все, как описал ты. Или я не так понял вопрос…

Вот ещё из справки:
Quote:
New: You can now select related files. For example, you would want to select all RAW image files (.cr2), but only if there is a jpg file in the same directory. This can be done with the following selection string:
*.jpg>*.cr2
This also supports more complex naming schemes. For example, if the jpg file is named IMG_1057.JPG and the raw file CRW_1057.CR2, the selection string would have to be:
*.jpg>crw*.cr2
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2513
Location: Большая деревня Москва

Post (Separately) Posted: Wed Aug 27, 2014 22:53    Post subject: Reply with quote

Я поставлю вопрос по-другому. Есть файлы:
Code:
1.htm
1.jpg
2.shtml
2.jpg
3.html
3.jpg
...
То есть много пар, в каждой из которых одноименные *htm* файл (где *htm* - маска), и jpg (а в идеале - jpg или jpeg) файл. Далее, один из файлов исчезает (неважно, как и почему). Задача - найти (выделить) "одинокий" файл ("партнер" пропавшего). Задачу надо решить одной кнопкой для двух случаев: 1) пропал *htm*: 2) пропал jpg.
Это решаемо?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Thu Aug 28, 2014 00:34    Post subject: Reply with quote

Для первого случая использовать команду
Code:
SELECTFILES *.*htm*>*.jpg *.jpeg
Для второго (правда без маски, а перечислением)
Code:
SELECTFILES *.jp*g>*.htm *.html *.shtml
Или одна кнопка должна работать на оба случая?
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2513
Location: Большая деревня Москва

Post (Separately) Posted: Thu Aug 28, 2014 15:23    Post subject: Reply with quote

Не, ты все понял правильно. Спасибо. Написал бы статью, а?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Thu Aug 28, 2014 15:47    Post subject: Reply with quote

Вахмурка wrote:
понял правильно.

Тем не менее одной кнопкой для общего случая тоже можно обойтись, например с помощью утилиты TCFS2:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd,
`LOADSEARCH Дубликаты по имени`) tem(em_temp) eval(send_wait(`{ENTER}`, findwnd(`TFindFile`))) loop(if(findwnd(`TFindFile`)==0, 0, 0*sendmsg(findwnd(`TFindFile`), $104, $30, $1, 1)*delay(1000)+1)) if(findwnd(`TFindFile`)==0,tcm(533,1))"
WCMICONS.DLL,47
Поиск по шаблону "Дубликаты по имени" (с выводом на панель по Alt+0, либо ручками) и сравнение каталогов


-1
Придётся создать шаблон для поиска одноимённых дубликатов.
Здесь он назван Дубликаты по имени и может выглядеть в разделе [searches] файла wincmd.ini примерно так:
Code:
Дубликаты по имени_SearchFor=
Дубликаты по имени_SearchIn=
Дубликаты по имени_SearchText=
Дубликаты по имени_SearchFlags=0|002002000020|||||||||1011|
Дубликаты по имени_dupeplugins=[=tc.name]
Или по-другому – как кому захочется.
Желательно также переназначение на Alt+0 вывода файлов на панель в окне поиска для независимости от раскладки клавиатуры. Это делается путём правки строки 5664 LNG-файла. Например, таким образом Файлы на панель &0.
В пассивной панели предварительно нужно открыть либо ту же папку, что и в активной, либо подпапку с raw-файлами, как в предыдущей задаче, либо ещё какую-то в зависимости от цели сравнения каталогов.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2223

Post (Separately) Posted: Fri Aug 29, 2014 15:14    Post subject: Reply with quote

Вахмурка wrote:
Не напишешь (в ТСКВ, например) статейку по сцепке команд?
О чём писать-то? О том, что при сцепке нельзя использовать команды с параметрами? Так такая поддержка нигде и не была заявлена. Говорилось о внутренних и пользовательских. Из справки:
Quote:
New functions and fixes in Total Commander 8.50 beta 1:
- Button bar: Support multiple internal and/or user-defined commands on a single button e.g. cm_SelectAll,cm_Copy
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