View previous topic :: View next topic |
Author |
Message |
antabu
Joined: 15 Sep 2005 Posts: 187 Location: Новосибирск
|
(Separately) Posted: Mon Jun 25, 2012 12:37 Post subject: Выделение файлов через один |
|
|
Подскажите, пожалуйста, как выделить (или найти), например, все чётные файлы в папке, а то я с явовскими скриптами не в ладах.
! | CaptainFlint: | Тема перенесена в "Автоматизацию". | _________________ antabu |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Mon Jun 25, 2012 13:13 Post subject: |
|
|
Insert + Вниз + Insert + Вниз + Insert + Вниз + Insert + Вниз + ... |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Mon Jun 25, 2012 13:37 Post subject: |
|
|
antabu
Например, скриптом отсюда. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 25, 2012 13:53 Post subject: |
|
|
sa
Тут речь только о файлах. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Mon Jun 25, 2012 16:43 Post subject: |
|
|
Quote: | Тут речь только о файлах. |
Возможно, хотя явно и не указано нужно ли выделять только "обычные" файлы или все файлы (включая каталоги, которые являются частным видом файлов).
Ещё вариант, с использованием сторонних утилит, тормознутый, но портабельный, без WSH Helper (может, подойдёт). |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 25, 2012 17:59 Post subject: |
|
|
LonerD
Частный вид тут в контекст не вписывается.
С WSH Helper тоже можно добиться портабл. |
|
Back to top |
|
|
antabu
Joined: 15 Sep 2005 Posts: 187 Location: Новосибирск
|
(Separately) Posted: Tue Jun 26, 2012 06:56 Post subject: |
|
|
Благодарю откликнувшихся. Поскольку файлы пронумерованы - воспользовался штатными средствами, советом Mellomann один раз, далее сохраняю выделение в текстовый файл и использую его многократно. Если число файлов в папке не превышает первоначальное - всё проходит. _________________ antabu |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Tue Jun 26, 2012 16:28 Post subject: |
|
|
antabu wrote: | (или найти) | Можно сохранить шаблон поиска со строкой “Искать файлы:” вида IMG_\d*[02468]\.JPG и с галкой для “Рег. выраж.” Затем кнопкой с командой LOADSEARCH Имя шаблона находить нужные файлы и выводить их на панель. (В моём примере ищутся фото с чётными номерами: IMG_0002.JPG, IMG_4.JPG и т.п.)
P.S.
Этот же шаблон можно использовать и для выделения, и в качестве фильтра. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Mon Feb 09, 2015 21:39 Post subject: |
|
|
Предложение от Mellomann
Quote: | Insert + Вниз + Insert + Вниз + Insert + Вниз + Insert + Вниз + ... | + утилита TCFS2 навеяли кнопку: Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "run_item(locktc,1) tcm(524)
loop(@<=1000 + send(`{INSERT}{DOWN 1}`)) run_item(locktc,0) redraw"
WCMICONS.DLL,39
Выделить элементы (числом не более указанного после @) с заданным интервалом (число после DOWN), начиная с элемента под курсором
-1
| В конце списка может потребоваться ручная правка, поскольку последний элемент может быть выделен/невыделен ошибочно. |
|
Back to top |
|
|
helb
Joined: 08 Oct 2014 Posts: 57
|
(Separately) Posted: Thu Feb 19, 2015 18:52 Post subject: |
|
|
Я тоже, кстати, не пользуясь всяким внешним софтом, сделал простенький скрипт (подобный вроде где-то в общей теме по скриптам пробегал):
Выделяем всё с первого по последний, запускаем скрипт, и он жмет нужные клавиши за нас, снимая выделение с ненужных файлов. Выделение должно быть сплошным (хотя, думаю, иное решаемо с помощью cm_ShowOnlySelected и cm_SaveSelection). Для работы нужен назначенный хоткей для cm_GotoNextSelected, чтобы переходить к началу выделения. Единственное, не будет корректно выделять там где первый пункт не «..» (в корне), и выделение начинается с него, но это на практике особо смысла и не имеет.
Code: | ' zebra-mark.vbs (by helb)
' Помечает выделенные подряд файлы через один.
' В TC должен быть назначен хоткей на cm_GotoNextSelected (в данном случае Ctrl+Home), и, соответственно, указан в скрипте (^{Home}) (Ctrl=^,Shift=+,Alt=%)
' TC Parameter: %L
set FSO = CreateObject("Scripting.FileSystemObject")
set list = FSO.OpenTextFile(WScript.Arguments(0), 8, false)
cnt = list.line - 1
if cnt < 2 then WScript.Quit
with WScript.CreateObject("WScript.Shell")
'go to first selected: Home & cm_GotoNextSelected
.SendKeys "{Home}^{Home}"
cnt = cnt / 2
for i = 1 to cnt
.SendKeys "{Down}{Insert}"
next
end with
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Feb 19, 2015 18:59 Post subject: |
|
|
helb wrote: | подобный вроде где-то в общей теме по скриптам пробегал | Ссылки на скрипты и так все собраны в этой теме. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Fri Feb 20, 2015 10:25 Post subject: |
|
|
helb
Заметил, что выделение сбрасывается в системных папках и при показе только выделенных объектов. В последнем случае сбрасывается и сам режим показа только выделенных.
Наверное, это плата за параметр %L… |
|
Back to top |
|
|
helb
Joined: 08 Oct 2014 Posts: 57
|
(Separately) Posted: Fri Feb 20, 2015 12:32 Post subject: |
|
|
Да, из-за передачи листа происходит рефреш, и если что-то изменилось, выделение сбрасывается. Для отфильтрованной панели это всегда так.
Можно в конце после цикла Code: | .SendKeys "<хоткей для cm_SaveSelection>" | добавить и восстанавливать запомненное выделение после сброса.
Еще вариант не с листом, а списком в командной строке — тут лимит примерно в 2500 файлов, но форсированного обновления нет:
Code: | ' zebra-mark.vbs (by helb)
' Помечает выделенные подряд файлы через один.
' В TC должен быть назначен хоткей на cm_GotoNextSelected (в данном случае Ctrl+Home), и, соответственно, указан в скрипте (^{Home}) (Ctrl=^,Shift=+,Alt=%)
' TC Parameter: %s (лимит в ~2500 файлов)
cnt = WScript.Arguments.length
if cnt < 2 then WScript.Quit
with WScript.CreateObject("WScript.Shell")
'go to first selected: Home & cm_GotoNextSelected
.SendKeys "{Home}^{Home}"
cnt = cnt / 2
for i = 1 to cnt
.SendKeys "{Down}{Insert}"
next
end with
|
|
|
Back to top |
|
|
|