Выделить либо переместить (не)четные файлы из папки файлов
,
Софт вопросы
Дата публикации:
slymouse, 25.12.2015 - 4:13
Уважаемые форумчане, кто порекомендует, как можно несложно выделить и(или) переместить четные/нечетные файлы из папки набора файлов сканов?
Имеется набор файлов сканов книги.
В каждом файле – одна страница книги. Нумерация файлов сканов: 001.tif, 002.tif… Четные файлы – перевернуты, нечетные – нет (но практически, может быть и наоборот).
Для избирательной обработки перевернутых сканов, требуется их как-либо выделить, переместить из общего набора файлов.
Есть темы форумов по T. Commander и его использованию.
Но там как-то сложновато показалось для не системщика и не программера.
Первый способ - самый простой но не самый удобный, но задачу можно решить Открываете в ТС папку с файлами становитесь на чётный Далее нажимаем кнопки на клаве - Incert и стрелка вниз... и так повторяем до конца списка
Второй способ автоматический но, сами знаете - начинает действовать правило из известного мультика "... лучше день потеряем, зато потом за пять минут долетим"
Функционал TC (в чём его и прелесть) наращивается при помощи плагинов и скриптов.
И теперь можно запустить TC и решить нашу задачу, (спасибо Вахмурка c форума wincmd.ru, который и придумал это решение.) Он написал скрипт Markstep, который позволяет выделять файлы через установленный шаг. В вашем случае - через 1 шаг.
Сам скрипт - обыкновенный текстовый файл с вот таким содержимым.
Code
local hwnd = win.handle("c=TTOTAL_CMD") local i, From, To, Result, Unmark local Step = 2 local What = "All" local Panel = ifelse(tc.active(hwnd) == "left", 8, 7) local TMLB = childwin.handle(hwnd, "TMyListBox", Panel) local Current = win.sendmessage(TMLB, 0x0188, 0, 0) local Counter = win.sendmessage(TMLB, 0x018B, 0, 0) local Cap = "File " ++ Current ++ " of " ++ Counter
Result = Inputdialog("~Step=Step, What=Files to mark??All|Current & above|Current & below, Unmark=Unmark??", Cap)
if(What == "All") do From = 0 To = Counter elseif(What == "Current & above") From = 0 To = Current elseif(What == "Current & below") From = Current To = Counter endif
Unmark = not(Unmark)
for(i = From; i < To; i = i + Step) win.sendmessage(TMLB, 0x0185, Unmark, i) endfor
win.setfocus(hwnd)
Т-е этот код копируем и вставляем в Блокнот, файл сохраняем и даём ему имя Markstep.txt
Выполняем скрипт. Если возникнут проблемы с запуском - вот здесь они очень подробно расписаны.
Ой как страшно. А переименовать, добавив в конец файла счётчик, затем поиск всех файлов, оканчивающихся на 02468? *И потом если надо, переименовать обратно, отбросив счётчик. **Ой, они же уже по номерам идут)
slymouse, 25.12.2015 - 16:20
KLUCHICK, спасибо.
Попробуем.
zoog, не совсем понятна логика и последовательность предлагаемого.
Еще, наверное, как путь: есть масса программ-переименовалок файлов.
Может, и там что есть (по здравому, так и должно быть..) на эту тему.
Все не смотрел пока.
Смотрел одну: ReNamer v6.3 Lite Portable.
Но и там ничего не нашлось для выполнения этой задачи.
KLUCHICK, 25.12.2015 - 19:35
zoog,
Цитата | Quote(zoog @ 25.12.2015 - 17:22)
Ой как страшно. А переименовать, добавив в конец файла счётчик, затем поиск всех файлов, оканчивающихся на 02468?
Вот уже несколько раз вас наказывали за флуд. Видимо не действуют на вас предупреждения.
Если хотите помочь - помогите, понятно объясните и расскажите человеку, который просит помощи, свой вариант решения проблемы. Не хотите помогать - не помогайте, но и не пишите ничего в эту тему. Не растопыривайте пальцы. Все когда то начинали с чего то. Никто не рождался гением. Стыдно вам должно быть.
Времени у вас на исправление - 1 день. Далее, если не отредактируете вышележащую реплику - добавлю ещё одно предупреждение.
slymouse, 25.12.2015 - 21:58
KLUCHICK,
Спасибо еще раз.
На Софторуме общая атмосфера общения и взаимодействия заметно отличается от других форумов.
Даже удивляет, что такое еще где-то может иметь место и сохраниться вообще.
На Харьковфоруме, например, о такой доброжелательности и мечтать не приходится...
zoog, 26.12.2015 - 5:12
Если я кого-то задел - могу извиниться, честно хотел помочь) Итак, пошагово: 0) открываем коммандером папку, видим там файлы 001.тиф - 999.тиф 1) нажимаем поиск, вводим .*[02468]\.тиф, *отмечаем галочку RegEx, ентер дальше, наверно, не надо
Цитата | Quote(KLUCHICK)
Стыдно вам должно быть.
Вы подумали, я это про сабж? Нет, это про Ваш способ. Не обижайтесь, просто сравните трудоёмкость)
slymouse, 26.12.2015 - 8:43
zoog,
Спасибо.
Попробуем.
Есть еще локальное решение задачи, предложенное разработчиком Сканкромсатора.
Выполняется в Сканкромсаторе.
=====
* * *
22. Иногда необходимо загрузить в Кромсатор отдельно чётные и нечётные страницы. Если они лежат в одной папке, то выбирать каждый второй файл неудобно, а как это сделать быстро или как разделить на автомате в файловом менеджере чётные-нечётные страницы - не знаю. Можно ли сделать в окне выбора файлов возможность открывать каждый второй файл, начиная с выделеного? Загрузите все файлы, затем выделите через один (Edit->Select group->Alternate down, при этом, если курсор на первом файле, то выделятся все нечётные, если на 2-м - то все чётные) и удалите их из задания (File->Delete files->All selected).
* * *
Полезные советы от bolega по работе с Кромсатором.
=====
Но лучше, конечно уметь делать разделение в файловом менеджере.
И для любых типов файлов, а не только для изображений.
nokeMoH, 26.12.2015 - 9:02
Когда мне было нужно сделать подобное, делал очень просто.. Если у Вас все файлы такие, 001, 002, 003, 004 и т.д., то сужаете окно Windows так, чтобы в одной строчке помещалось не более двух файлов, и они сами автоматически выстраиваются так, как Вам уже нужно.. Нечётные слева, чётные справа, останется только выделить их мышкой и сделать с ними всё что захотите..
» Select «
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
zoog, 26.12.2015 - 12:32
nokeMoH, красиво) В коммандере так не получается, нельзя выделить промежуток между значками. *Забыл добавить - в моём варианте надо отметить RegEx.
nokeMoH, 26.12.2015 - 13:30
Не помню уже даже для каких целей мне такое выделение было нужно, но пользовался давно и несколько раз, придумал так сам .... Вообще, этот способ подходит для совершенно любого выделения файлов (через 1, через 2, через 3 файла и сколько угодно штук при желании).. Конечно только если у Вас файлов в папке не 1 миллион, хотя даже если и так, то саму папку открывать будете очень долго..
Скорость перемещения и удаления выбранных файлов зависеть будет от новизны железа.. С первого раза тысяч 10 файлов переместить или удалить получиться, без перезагрузки ПК слейдующий подход будет около 8 тысяч файлов, потом порог будет уменьшаться, RAM забивается хорошо если файлов для работы очень очень много, однажды мне приходилось перегружать ПК чтобы продолжить процесс..
Добавлено:
Есть более ручной вариант, которым тоже когда-то пользовался.. Принцип работы:
1). Выбираете начальный файл, от которого будете скакать.. 2). Зажимаете CTRL.. 3). Стрелками Вверх или Вниз осуществляете навигацию по своему списку файлов.. 4). Нужно выбрать файл - кликаете Пробел.. 5). И повторяете так дальше до конца, кликая по Стрелке и по Пробел..
» Hand_select «
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
Я любитель всё упрощать, по этому для этой операции посоветовал бы Вам использовать утилиту Easy Macro Recorder.. Она используется для автоматизации однотипных и однообразных кликаний по Клавиатуре и Мышке.. То есть указываете ей что нужно нажимать и через какие промежутки времени (какую кнопку мышки или какая кнопка на клавиатуре), и она всё делает за Вас, то есть можете сходить попить чай, а мышка и клавиатура без Вашего участия сами будут работать с Windows..
Утилита полезная, всё равно пригодится ещё не раз, посоветовал бы научиться.. Такая автоматизация утилитой именнуется как Макросы, при УЖЕ умении ею пользоваться, такие макросы создаются за 2-3 минуты, и можете потом отдыхать, только лишь наблюдая за тем, как Вам помогает утилита с выбором файлов..
slymouse, 27.12.2015 - 2:50
Цитата | Quote(nokeMoH @ 26.12.2015 - 9:06)
Когда мне было нужно сделать подобное, делал очень просто.. Если у Вас все файлы такие, 001, 002, 003, 004 и т.д., то сужаете окно Windows так, чтобы в одной строчке помещалось не более двух файлов, и они сами автоматически выстраиваются так, как Вам уже нужно.. Нечётные слева, чётные справа, останется только выделить их мышкой и сделать с ними всё что захотите..
» Select «
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
nokeMoH,
пусть еще не все из предложенного опробовано, но самое гениальное решение тут - за Вами.
nokeMoH, 27.12.2015 - 10:31
Цитата | Quote(slymouse @ 25.12.2015 - 16:24)
Все не смотрел пока. Смотрел одну: ReNamer v6.3 Lite Portable. Но и там ничего не нашлось для выполнения этой задачи.
А вот и очень даже нашлось.. На мой взгляд это самая лучшая утилита по переименованию файлов.. Уже не обязательно нужно, но процесс бы выглядел именно так:
1). Первый пункт выполнять не обязательно, но с ним всё будет выглядеть красивее.. Добавляем ко всем именам наших файлов перед первой буквой Дефис..
2). Перед дефисом, просим утилиту чтобы она пересчитала все наши файлы.. То есть чтобы в каждом послейдующем файле перед Дефисом, она последовательно проставила каждому файлу порядковый номер.. По умолчанию этот параметр (шаг) равен - [1], и утилита будет ставить такие имена перед дефисом: 01, 02, 03, 04, 05, 06, 07, 08 и т.д.. Нам нужно изменить 1 на цифру [5], тогда порядковое счисление будет выглядеть так: 05, 10, 15, 20, 25, 30, 35 и т.д. (в этом параметре к порядковым номерам обязательно нужно прибавить количество нулей, желательно равному количеству букв в ваших именах файлов, которые Вы переименовываете)..
3). Последнее действие.. Удаляем все наши символы в именах файлов - от начала имени и ДО первой буквы перед Дефисом, и если наши файлы, имели порядковые имена такие как 05, 10, 15, 20, 25, 30, 35 и т.д., то теперь они станут выглядеть так: 0, 5, 0, 5, 0, 5, 0 и т.д..
4). Четвёртый пункт самый радостный.. Можем для удобства оформить отобращение файлов в окне Windows в виде списка фалов (с каждой строчки), и Упорядочить все названия файлов по Имени.. Всё что начанается с [5] - это Чёт, а всё что начанается с [0] - это Нечёт.. Либо иначе, поиск (Ctrl+F), и ищем выражение 0- (обязательно вместе с дефисом), ну и для Чёта соответственно пытаемся найти 5-..
5). После отсеивания нужных файлов от ненужных, чистим все имена фалов от начала и вплоть до самого последнего дефиса ВКлючительно..
» Process «
|||||||||||||||||||||||||||
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««
» Process ALL «
»» Нажмите, для закрытия спойлера | Press to close the spoiler ««