Как стать автором
Обновить

Комментарии 77

По разрешениям это хорошо, а названия файлов понимает?
По сути должна — надо написать маску в виде mask1=name.*
А если файл попадет под несколько масок одновременно?
подозреваю, будет применена первая по списку.
Да, понимает маски, например img???.jpg
img!!!.jpg — а вот так понимает?
благодарю
100 лет назад написал такую же штуку для себя, автор даже назвал свою утилиту как я когда-то :) сейчас даже не знаю работает или нет. Если кому нужно могу допилить.
Не сочтите за плагиат, исторически так сложилось ставлю d перед названиями своих приложений. Ну а sort понятно из назначения приложения) удивительно, видимо, именно Вашу программу я и искал)
где можно сделать страничку утилиты с ее описанием и ссылкой на скачивание


На Github можно сделать проект и оформить для него описание. Релизы создаются автоматически и готовы к скачиванию.
Очень классная штука, спасибо!
Было бы здорово иметь следующие возможности:
Работа с папками
В конфиге прописать стоплист=список файлов и папок, которые не будут перемещаться, даже если их мышью бросили на ярлык.
При двойном клике по ярлыку происходит автоматический пробег по всем файлам раб стола с автоматическим перемещением файлов и папок, которые старше N дней и не входят в стоплист
Маски по размеру(для видео, например, могут пригодиться) тоже неплохо бы добавить.
Черт, почему я сам до сих пор не написал нечто подобное? А то вечно нет времени на подобную сортировку загрузок.
Я как раз пишу на питоне что-то подобное. Суть — демон будет мониторить папку с загрузками и сортировать файлы по папкам. Мусор типа .torrents итп например сразу в папку trash и так далее.
Штука полезная, но не в масштабах рабочего стола, по крайней мере для меня, т.к. на моем рабочем столе есть всего 1 иконка — иконка корзины. Но вот в чем вижу полезность — есть у меня папки типа D:\Tmp\ — куда просто валится всякий мусор, все скачки, картинки, порно тексты временные и прочая фигня. Раз в год содержимое папки просто удаляется, а потом я вспоминаю то, что когда-то было в папке, а теперь вот нужно, вобщем-то о чем это я, ах да, было бы удобно рассортировать папку Tmp по содержимому: часть удалить сразу, часть переместить Так что ждем возможности удалять и будет большое человеческое спасибо :)
Я разбирал свои горы файлов в загрузках очень просто — выделял все, отправлял в программу, а то что осталось — удалял вручную, так спокойнее. Сейчас участок кода с удалением файла(пусть и в корзину) закомментирован от греха.
Для картинок мне будет полезно сортировка по папкам по размерам.
Вариант 1.
Все картинки сортируются по папкам вида 1280×800, 800×250 и т.д.
Минусы — для картинки 1280×800 и картинки 1280×799 будет создано две папки.

Вариант 2.
Сортировать картинки по одной стороне, например, по ширине.
Выгода нет минуса первого варианта.
Недостатки — очевидны.
Можно указать диапазоны, как у гугла, например, 1280+-5% × 800+-5% — папка будет называться «большие»
Отличная утилита! Сейчас как раз завал на рабочем столе. Спасибо!

Могу помочь с дизайном GUI. :)
Спасибо за предложение, проблема в том что для GUI редактора много кода нужно писать, а у меня сейчас на это нет времени
Отлично.
Стремлюсь держать чистым, но всё же рабочим, то есть там постоянно кучи образуются, устал сортировать.
Спасибо вам =)
Между тем, я забыл, что этой папки ещё не создал, понадеялся на программу и потерял последнюю версию шаблона.
Не делайте так.
Прошу прощения, приеду домой — пофиксю, а вообще, по идее, Ваш шаблон должен теперь лежать в папке с программой.
Да ладно, я же знал, на что иду =)
Просто предупредил остальных :)
Проверил, разобрался. Допустим, есть несуществующий путь, прописанный в конфиге как C:\Документы. если программа пытается переместить по этому пути файл то он переименовывается в Документы(без расширения) и помещается в каталог C:\. Если есть несуществующий путь C:\Документы\текст то файлы вообще не перемещаются. Сейчас исправлю и выложу новую версию.
У меня файл potok.psd попытался уйти с рабочего стола в D:\Images\Job
В D ничего не нашёл.
Правда был файл Job нехилого веса… я решил, что это просто баг и уже удалил его =)
Баг пофиксил, залил новую версию. Прошу прощения за нервы, надеюсь плюс в карму хоть отчасти искупил мою вину)
такое можно замутить сделав хотфолдер на анте)
Улучшение функциональности? Автоматическое раскидывание на папки по датам для базовой обработки фото-коллекций, накопившихся на карточке
Вашу программу можно заменить 1 строчкой на shell:)

@for %%f in (%*) do @for /F "tokens=1-2 delims==," %%t in (dsort.conf) do @echo %%f|findstr /R /C:"%%t">NUL&& copy %%f %%u


dsort.conf
.*\.txt=c:\text
.*\.doc=c:\text
.*\.exe=c:\exec
А он сортирует файлы лишь там, откуда запускается? Можно по подробнее о скрипте, пожалуйста)
Можно также переносить на него drap'n'drop-ом и тогда файлы передаются с абсолютными путями в него.
А можно копирование заменить на перемещение?
Можно заменить copy на move. Синтаксис команд одинаковый.

@for %%f in (%*) do @for /F "tokens=1-2 delims==," %%t in (dsort.conf) do @echo %%f|findstr /R /C:"%%t">NUL&& move %%f %%u
Спасибо. А то думал надо скопировать и удалить, если команды нет такой
вот так выглядит неминимизированный скрипт
@echo off
for %%f in (%*) do ( rem для каждого имени файла из аргументов

	rem парсим dsort.conf. %%t - слева от знака равно, regex, %%u - справа, путь
	for /F "tokens=1-2 delims==," %%t in (dsort.conf) do ( 

		rem проверяем regex, и если подошел (findstr вернул success), то выполняется копирование
		@echo %%f|findstr /R %%t>NUL&& copy %%f %%u 
	)
)
Не посчитайте за наезд. Сам долго болел такой болезнью. Завалами на десктопе. Эта программа — это заметание мусора под коврик «на потом». Никакого «потом» не наступит. Будут появляться новые и новые файлы.

Пришел в выводу, что ели я не могу понять за первые несколько секунд что это за файл, откуда он взялся и зачем он мне — я его сразу удаляю.
не заметание а оставление на хранение. и служит прежде всего не для того чтобы вам стало понятнее от куда взялся файл, а скорее для последующего его быстрого нахождения. (хотя кажется что современный поиск работает явно быстрее — без «тегов» всё равно приходится разбираться с «кучами»… ) а не нужные файлы таки да я тоже сразу уничтожаю да…

(все хвалятся что знают альтернативы для линукс — tagsistant тоже может автоматически раскидывать по папкам по расширению… к сожалению она оставляет желать лутщего...)
Фото — или понятно что это и зачем или в мусор. Видео — аналогично, только с поправкой — пол года не посмотрел, может оно мне и не надо было? Файлы инсталляции — быстрее найти свежую версию в сети, чем у себя на диске. Все остальное — открывать и смотреть. Складывать по назначению.

А так скопом свалить все PDF к примеру в папку — там у меня окажутся счета от фирм, выписки из банка, книги, мануалы необходимые раз, документы сгенерированные, чтобы донести до работы и там распечатать — совершенно разнородные по содержанию и важности документы, единственное что их объединяет — формат.
Правда в ваших словах про pdf есть.

Но что касается картинок — не соглашусь. Представьте, что вы собирали год фотографии кошечек — скачивали из инета, сами фоткали, у друзей брали. Хотели вести блог «Кошкина жизнь». Все фотки разные по размерам от 300×300 до 5000×5000.

Вы принимаете решение, что публиковать фотки размером менее чем 1000×1000 вы не будете. Поэтому вам надо отсортировать фотографии. Причем все фотки более 1000×1000 оставить, остальные в мусорку. Вот как это сделать? Я не нашел ни одну программу, которая так умеет. Например, при задании условия фильтрации 1000×1000 все программы почему-то картинки размером 1280×900 оставляют, хотя 900 меньше 1000 и фотография должна быть отброшена не смотря на то, что она по ширине 1280. Короче с картинками беда :)
НЛО прилетело и опубликовало эту надпись здесь
Можете ли вы проверить, как поведет себя Тотал в случаях показанных на моем скриншоте (следующий мой коммент).
НЛО прилетело и опубликовало эту надпись здесь
Такую сортировку легко делает само окно с файлами. Достаточно перейти в режим отображения Detail и нажать на столбец Type.

Есть еще столбец Dimensions — попробуйте сортировку по нему в папке с изображениями.
Такую сортировку невозможно сделать.


Зеленое — что что подходит под критерий.
Красное — нет.

Видите, какое чередование получается. А если будет много файлов, когда подходит только один из параметров (ширина или высота), то чехарда будет еще больше.

Год назад понадобилось разобрать около 8 тысяч файлов — беда.
Признаю, фигово выглядит.
вот так постепенно все фильмы, все возможные картинки, все возможные документы просто исчезнут… кто-то должен их хранить… это как скачать торрент посмотреть и тут-же удалить… вы убиваете информацию… Сайты с прогами не вечны — помню пытались найти тотже windows movie maker (не live) пол дня искали… ещё и смс требовали за скачку. Сейчас правдо что-то изменилось и он в сети есть… а вот когда был нужен — ну вы поняли…

А если серьёзно — никто не заставляет кого либо скопом валить все документы в одну папку. Автор придумал программу для себя а как использовать её на своём компьютере решаете вы.

Ваше «никогда не наступающее напотом» на самом деле может быть что-то вроде «разбираю время от времени». Некоторые люди любят хранить у себя например фотографии и согласитесь рассортировать фотографии и картинками легче когда между ними не просматриваются «документы, архивы и д.р.» А ещё например заливка всего этого добра в тот-же iphone? Скажем так, когда имеешь дело с техникой в которой изначально всё рассортировано по категориям намного проще если у вас всё так-же рассортировано…

Конечно всё это и так умеет проводник используя поиск но он медленно работает в не индексированных местах. Представте что вам принесли флешку(ещё и медленную) и там всё в разнобой а вам нужно всего лишь пару фотографии от туда… не заставлять же поиск перебирать всю флешку — это не эффективно, а вот если-бы лежало сразу в папке — фото нужно было бы поискать только в ней.
То, что мне необходимо я храню. Но часто скачиваешь «нужный» фильм, а потом выясняется, что руки до него не доходят.
Ну мне вот очень удобно. Текущие psd,ai файлы валяются на столе. Закончил работу — можно и отправить в папку с исходниками. И так много с чем.
Не очень понятен смысл сортировки по типам. Я сортирую файлы по контексту, в случае с закачками, например, к одной закачке может относиться и приложение, и архив, и какие-то документы. А фильтровать по расширениям и проводник может.
Уважаемый автор, у меня есть старинная идея сделать сортировщик фотографий по дате из EXIF
Если у вас есть желание и время, то можем соединить наши умения (я разрабатываю интерефейсы) и сделать хорошую и полезную штуку.
Отличная идея! Считаю, что Вам с portable стоит заняться этой темой. С удовольствием буду пользоваться!

Как дополнительный функционал — не только сортировка, но и переименование. А то все фотографии в папках лежат под именами IMG12345.JPG
И к слову — сортировать можно не только по дате, но и по, например, GPS-координатам (по геозонам, так сказать), давая пользователю их озаглавить. И писать потом заглавие в имя файла.
Ну, если просто переименовывать, то можно обратиться к уже имеющемуся функционалу плагина EXIF для Total commander-а.
К сожалению, не располагаю сейчас достаточным количеством времени. Хотя идея достаточно просто реализуется.
Много чего можно сделать с помощью exiftool. С его помощью я раскидываю фотографии:
sandbox/DSC_7298.NEF
sandbox/DSC_7299.NEF
sandbox/DSC_7300.NEF

в что-то типа
2014/2014-01.Январь-03/2014-01-03-14-45-25-DSC_7298.NEF
2014/2014-01.Январь-03/2014-01-03-14-45-29-DSC_7299.NEF
2014/2014-01.Январь-03/2014-01-03-14-46-19-DSC_7300.NEF

Добавьте столбец «Date taken» или включите группировку по этому полю (если фото последних дней). Если надо по нескольким папкам — сделайте сначала поиск по .jpg или .nef или в чем у вас фотографии и уже к результату примените это.

Вообще стоит заглянуть в More… — там прячется масса вариантов того, по чем можно сортировать в папке файлы.
Проверил у себя. Дата съёмка правильно определяется для jpg, но не работает для raw файлов
Для nef надо взять на сайте Nikon кодек. Будут как родные. Для остальных камер не в курсе.
В начале-середине двухтысячных многие занимались «спутниковой рыбалкой» — захватом файлов, которые качают пользователи спутникового интернета.

Файлы приходили без имён и дат, и были программы для их разбора, интересные. Программа в статье похожа на одну из таких программ для разгребания «улова».
В качестве идей для развития программы.

Было бы здорово добавить в контекстное меню проводника строку «разобрать».
Чтобы можно было выделить группу файлов и папок, выбрать «разобрать», и в текущей папке автоматом создаются нужные «подпапки по типу» и в них раскидывается выделенное содержимое (если было выделено несколько папок, то их структура должна повторяться внутри «подпапок по типу»).

Ну и конечно не хватает распределения по размерам картинок и по времени создания/изменения файла.

Еще желательно, в случае если файл подпадает под несколько типов — создавать жесткие ссылки (или ярлыки в крайнем случае).

Если реализовать кнопку «разобрать» — то хорошо бы добавить возможность выбрать пресет.
Например пресет «из интернета» — раскидывает файлы по типом. «Проекты» — раскидывает папки по годам. «Фотки» — по размерам и датам… и т.п.
была именно такая идея, сейчас занимаюсь реализацией
Отлично! Тогда действительно было бы здорово увидеть проект на githab, там гораздо удобнее следить за изменениями.
Ну или хотя бы форму подписки на новости проекта где-то повесить.
И не забыть сделать функцию «Собрать обратно», если вдруг случайно «разобрал» содержащую разные типы файлов папку с проектом или программой.
В комментах на сайте оставили ссылку на проект DropIt. Похожа на мою прогу, только более продуманная, с открытыми исходниками, мультиязычностью итд.
И, что непривычно, написана на AutoIt скрипте
Добавьте поддержку разных действий с файлами, насколько я понял сейчас есть только перемещение.

А еще может пригодиться копирование, удаление… или в общем передача другой программе по цепочке.

Тогда каждый сможет дописать себе «плагинов» с любыми правилами разбора, хоть по EXIF c ID3, хоть… как угодно.
Может быть уже упоминалось и пропустил в комментах, но тем не менее:

Если порядок масок/каталогов

[Dir1]
[Dir3]
[Dir4]
;[Dir2]

То отрабатывает Dir1 и останавливается.
Вобщем надо следить за порядком нумерации каталогов иначе дальше не уходит.
Может и не минус конечно, но я скопировал себе пример с цифрой 3 снизу наверх, поправил его и не сразу понял почему не сработало. :)
Прошу прощения, писал для себя, уже потом решил поделится. Да и старался кода писать по-минимуму, исходник на лист А4 поместится.
Думаю было бы лучше при установке файл config.ini кидать в папку пользователя, а не по месту установки программы. Потому что по-умолчанию ставится в program files. А там запрещено изменение файлов (Если не под администратором). Приходится перемещать файл на рабочий стол, изменять и перемещать обратно. Хотя это нужно 1, 2 раза сделать. Не критично, но все же, было бы отлично)
Учту в следующей версии
А что мешает от Администратора запускать блокнот и редактировать?
Ну это будет почти таким же костылем, что я написал выше. Сперва нужно запустить блокнот под администратором, потом в нем открыть нужный файл и т.д. Не самый оптимальный вариант. Учитывая что для этого есть специальная папка пользователя для хранения настроек и т.д. А по затратам для редактирования только одного файла по времени ваш и мой способ будут примерно одинаковы. А хотелось бы сразу редактировать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории