Софт вопросы

Выделить либо переместить (не)четные файлы из папки файлов

,

Софт вопросы

Дата публикации:

slymouse, 25.12.2015 - 4:13

Уважаемые форумчане, кто порекомендует, как можно несложно выделить и(или) переместить четные/нечетные файлы из папки набора файлов сканов?

Имеется набор файлов сканов книги.

В каждом файле – одна страница книги.
Нумерация файлов сканов: 001.tif, 002.tif…
Четные файлы – перевернуты, нечетные – нет (но практически, может быть и наоборот).

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


Есть темы форумов по T. Commander и его использованию.

Но там как-то сложновато показалось для не системщика и не программера.

KLUCHICK, 25.12.2015 - 10:15

IMHO - лучше чем Total Commander никто это не сделает.

Первый способ - самый простой но не самый удобный, но задачу можно решить
Открываете в ТС папку с файлами становитесь на чётный
Далее нажимаем кнопки на клаве - Incert и стрелка вниз... и так повторяем до конца списка smile.gif

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

Функционал TC (в чём его и прелесть) наращивается при помощи плагинов и скриптов.

Сначала надо установить плагин PowerPro

И теперь можно запустить 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(Result == 0)
quit

if(miscplugin.is_int(Step) != "1" || Step <= 0) do
messagebox("ok error", "Invalid step: " ++ Step, "'MarkStep' Script")
quit
endif

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

Выполняем скрипт.
Если возникнут проблемы с запуском - вот здесь они очень подробно расписаны.

zoog, 25.12.2015 - 15:18

Ой как страшно. А переименовать, добавив в конец файла счётчик, затем поиск всех файлов, оканчивающихся на 02468?
*И потом если надо, переименовать обратно, отбросив счётчик.
**Ой, они же уже по номерам идут)

slymouse, 25.12.2015 - 16:20

KLUCHICK,
спасибо.

Попробуем.


zoog,
не совсем понятна логика и последовательность предлагаемого.


Еще, наверное, как путь: есть масса программ-переименовалок файлов.

Например:

ReNamer v6.3 + Portable / 6.3.0.4 Beta
Advanced Renamer 3.69 Final + Portable
Ant Renamer v2.12 + Portable / переименование файлов
ID3 Renamer 7.2.5
theRenamer 7.69
webXpace File Renamer 1.2.4.3
Flash Renamer 6.73 + crack
Magic File Renamer 7.4.0 + patch-keygen
PhotoRenamer 3.4
Panda Batch File Renamer v2.3

Может, и там что есть (по здравому, так и должно быть..) на эту тему.

Все не смотрел пока.

Смотрел одну: ReNamer v6.3 Lite Portable.

Но и там ничего не нашлось для выполнения этой задачи.

KLUCHICK, 25.12.2015 - 19:35

zoog,
Цитата | Quote(zoog @ 25.12.2015 - 17:22)
Ой как страшно. А переименовать, добавив в конец файла счётчик, затем поиск всех файлов, оканчивающихся на 02468?
*


Вот уже несколько раз вас наказывали за флуд. Видимо не действуют на вас предупреждения. huh.gif

Если хотите помочь - помогите, понятно объясните и расскажите человеку, который просит помощи, свой вариант решения проблемы. Не хотите помогать - не помогайте, но и не пишите ничего в эту тему. Не растопыривайте пальцы. Все когда то начинали с чего то. Никто не рождался гением. Стыдно вам должно быть.

Времени у вас на исправление - 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 «

zoog, 26.12.2015 - 12:32

nokeMoH, красиво) В коммандере так не получается, нельзя выделить промежуток между значками.
*Забыл добавить - в моём варианте надо отметить RegEx.

nokeMoH, 26.12.2015 - 13:30

Не помню уже даже для каких целей мне такое выделение было нужно, но пользовался давно и несколько раз, придумал так сам smile.gif .... Вообще, этот способ подходит для совершенно любого выделения файлов (через 1, через 2, через 3 файла и сколько угодно штук при желании).. Конечно только если у Вас файлов в папке не 1 миллион, хотя даже если и так, то саму папку открывать будете очень долго..

Скорость перемещения и удаления выбранных файлов зависеть будет от новизны железа.. С первого раза тысяч 10 файлов переместить или удалить получиться, без перезагрузки ПК слейдующий подход будет около 8 тысяч файлов, потом порог будет уменьшаться, RAM забивается хорошо если файлов для работы очень очень много, однажды мне приходилось перегружать ПК чтобы продолжить процесс..

Добавлено:


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

1). Выбираете начальный файл, от которого будете скакать..
2). Зажимаете CTRL..
3). Стрелками Вверх или Вниз осуществляете навигацию по своему списку файлов..
4). Нужно выбрать файл - кликаете Пробел..
5). И повторяете так дальше до конца, кликая по Стрелке и по Пробел..

» Hand_select «

Я любитель всё упрощать, по этому для этой операции посоветовал бы Вам использовать утилиту 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 «

*


nokeMoH,

пусть еще не все из предложенного опробовано, но самое гениальное решение тут - за Вами.

nokeMoH, 27.12.2015 - 10:31

Цитата | Quote(slymouse @ 25.12.2015 - 16:24)
Все не смотрел пока. Смотрел одну: ReNamer v6.3 Lite Portable. Но и там ничего не нашлось для выполнения этой задачи.

smile.gif А вот и очень даже нашлось.. На мой взгляд это самая лучшая утилита по переименованию файлов.. Уже не обязательно нужно, но процесс бы выглядел именно так:

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 «
» Process ALL «


версия для печати -> Полная версия

SoftoRooM © 2004-2024