View previous topic :: View next topic |
Author |
Message |
Psycho
Joined: 22 Jun 2010 Posts: 8
|
(Separately) Posted: Tue Jun 22, 2010 13:41 Post subject: |
|
|
MVV wrote: | Psycho wrote: | Надо измерить реальный размер папки windows\WinSxS на win7. Там очень много жестких ссылок - из за чего размер возвращается больше чем на самом деле. |
Ну используй мой вариант:
MVV wrote: | Пожалуй, единственное что могу предложить - это найти все файлы в интересующей папке, вывести на панель, добавить колонку идентификатора файла из плагина NTLinks, отсортировать список по ней, экспортировать в эксель и удалить дубликаты строк. |
Ответ на твой вопрос он тебе даст. |
Спасибо за ответ.
Я решил попробовать сделать плагин, раз такого нет.
Т.е. по идее плагин должен быть File System типа, при нажатии пробела должен начать подсчитывать при этом вывести прогресс бар.
Если у вас есть другие идеи, по поводу того как должен работать плагин с точки зрения юзера, какие настройки должен иметь, пожалуйста сообщите. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Psycho
Joined: 22 Jun 2010 Posts: 8
|
(Separately) Posted: Tue Jun 22, 2010 13:52 Post subject: |
|
|
MVV wrote: | Сразу обрадую, файлсистемный плагин не позволяет подсчитывать размер при нажатии пробела - ТК выполняет это действие самостоятельно. Но ты можешь при запросе свойств папки подсчитывать ее размер и показывать окошко с результатом. |
Если есть время, может ты попробуешь сделать? Тем более ты уже писал плагин в той же области.
Если нет, тогда попробую я, скорее всего на Delphi KOL для минимального размера. Отпишись pls . |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 22, 2010 14:09 Post subject: |
|
|
MVV wrote: | Пожалуй, единственное что могу предложить - это найти все файлы в интересующей папке, вывести на панель, добавить колонку идентификатора файла из плагина NTLinks, отсортировать список по ней, экспортировать в эксель и удалить дубликаты строк. | А не проще в нужной папке нажать Ctrl+B, отсортировать в NTLinks по реальному пути, и потом выделить все файлы, у которых путь начинается с нужной папки (Shift+End/Home(в засисимости от порядка сортировки: по убыванию/возрастанию и первого/последнего файла с нужным путём под курсором))? Вот и будет быстрый результат.
Last edited by Flasher on Tue Jun 22, 2010 14:11; edited 1 time in total |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Psycho
Joined: 22 Jun 2010 Posts: 8
|
(Separately) Posted: Tue Jun 22, 2010 14:16 Post subject: |
|
|
MVV wrote: | Времени мало. Есть желание - пиши сам, в случае чего помогу с индексами и т.п. |
Спасибо. Для меня самое сложное это интеграция с totalcmd в виде плагина.
Quote: | А для минимального размера вообще без форм делай - просто винапишный MessageBox как окно свойств) |
С KOL MCK все равно меньше размер даже в случае dll или консоли. Ряд базовых системных делфийских модулей переписан.
Ну а с формами, несжатый exe получается от 9 кб (одна пустая форма). |
|
Back to top |
|
 |
GGS
Joined: 02 May 2009 Posts: 322
|
(Separately) Posted: Tue Jun 22, 2010 14:31 Post subject: |
|
|
Flasher wrote: | в нужной папке нажать Ctrl+B, отсортировать в NTLinks по реальному пути |
Если в нужной папке находятся несколько реальных файлов с одинаковыми индексами, то что дальше? "Результат быстрый", но неверный.
Psycho
Кстати, если у Вас Win7, то помимо жёстких ссылок там имеются символические папки и пр. Имейте это ввиду при написании плагина. Успехов. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 22, 2010 14:41 Post subject: |
|
|
GGS wrote: | Если в нужной папке находятся несколько реальных файлов с одинаковыми индексами, то что дальше? "Результат быстрый", но неверный. | Одинаковыми в одной общей папке? Во-первых, это редкость, во вторых, можно выделенные файлы после отсортировать по символьным путям. Ничего сложного.
Last edited by Flasher on Tue Jun 22, 2010 14:47; edited 3 times in total |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 22, 2010 14:42 Post subject: |
|
|
Quote: | Кстати, если у Вас Win7, то помимо жёстких ссылок там имеются символические папки и пр. |
Точки переподключения есть и в XP - junction тому пример. А в висте добавились лишь символические ссылки на файлы/папки... В любом случае, узнать, что текущий файл/каталог является точкой переподключения, элементарно - вызвать GetFileAttributes, указав путь к файлу/каталогу, и проверить в возвращенном значении флаг FILE_ATTRIBUTE_REPARSE_POINT. А дальше уже смотреть, нужно учитывать такой объект, или нет.
Flasher wrote: | GGS wrote: | Если в нужной папке находятся несколько реальных файлов с одинаковыми индексами, то что дальше? "Результат быстрый", но неверный. | А как они могут быть одинаковыми-то? Пути то всё равно различаются. |
Скажем, есть у меня папка А, в которой папки Б и В, и есть файл bbb.ccc, который имеет две жестких копии - в папке Б и в папке В. Пути у каждого файла свои (А\Б\bbb.ccc и А\В\bbb.ccc), размеры и индексы одинаковые. А задача стоит узнать, сколько же реально весит папка А - но при этом не нужно считать размер файла bbb.ccc два раза. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Tue Jun 22, 2010 14:44; edited 1 time in total |
|
Back to top |
|
 |
Psycho
Joined: 22 Jun 2010 Posts: 8
|
(Separately) Posted: Tue Jun 22, 2010 14:44 Post subject: |
|
|
Вопрос к знающим. Неужели никак нельзя перехватить Space?
Если нет, то по идее можно назначить горячую клавишу и после выводить свою форму с прогресс баром (т.к. прогресс затянется, папки по размеру измеряются в гигабайтах)?
Спецификацию написания плагинов для tc я только к вечеру почитаю, поэтому не сильно бейте если вопрос в некоторых местах не верный. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 22, 2010 14:47 Post subject: |
|
|
Думаю, удобнее будет написать не файлсистемный плагин, а плагин-упаковщик, который будет в фоновом режиме обрабатывать подаваемые от ТК файлы и подсчитывать суммарный размер, при этом следя, чтобы не было повторов. А дальше можно либо выдавать сообщение в фоновом потоке, либо сохранять отчет в файл. По идее, так будет намного проще, и удобнее для юзера - выделил папки/файлы, нажал Alt+F5, выбрал пакер и жди отчета, или работай дальше.
Перехватить-то пробел можно, но придется проверять, в панели ли он был нажат, в правильной ли панели и т.п. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 22, 2010 14:54 Post subject: |
|
|
MVV wrote: | Скажем, есть у меня.. | См. предыдущий пост. |
|
Back to top |
|
 |
Psycho
Joined: 22 Jun 2010 Posts: 8
|
(Separately) Posted: Tue Jun 22, 2010 14:58 Post subject: |
|
|
В идеале хотелось бы так:
Юзер выделил папку (даже не в FS списке, а в стандарном списке), и нажал горячую клавишу, показалась форма, на которой прогресс, и доп. инфа. Форму можно скрыть в фон.
Возможно ли сделать подобное?
Можно ли вызвать плагин по горячей клавише, и чтобы TC передал плагину выделенный путь? Может в этом случае удобней (для пользователя) даже сделать отдельным exe? |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 22, 2010 15:10 Post subject: |
|
|
Flasher wrote: | MVV wrote: | Скажем, есть у меня.. | См. предыдущий пост. |
И что? Ты думаешь, все вокруг телепаты и улавливают твои мысли на расстоянии? Я, например, не вижу в твоем предыдущем посте ничего полезного в данном случае, ничего, что поможет для двух файлов-копий в одной родительской папке учесть размер только 1 раз.
Рассмотрим даже еще более простой вариант - есть папка А, в которой два файла bbb.ccc и ddd.ccc, которые являются жесткими копиями друг для друга. Как при подсчета размера папки А учесть размер этого файла с двумя записями в папке только 1 раз?
Quote: | В идеале хотелось бы так: |
Тогда забей на плагины и пиши утилиту. А юзер забиндит ее вызов на хоткей и ТК будет передавать утилите список файлов/папок (параметр %L юзер-команды), который утилита будет расширять до полного списка файлов и выдавать результат.
Quote: | Может в этом случае удобней (для пользователя) даже сделать отдельным exe? |
Во, и я о чем. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Last edited by MVV on Tue Jun 22, 2010 15:14; edited 1 time in total |
|
Back to top |
|
 |
GGS
Joined: 02 May 2009 Posts: 322
|
(Separately) Posted: Tue Jun 22, 2010 15:13 Post subject: |
|
|
MVV wrote: | Скажем, есть у меня папка А, в которой папки Б и В, и есть файл bbb.ccc, который имеет две жестких копии - в папке Б и в папке В. |
Добавлю, что этот файл в папках Б и В может иметь совершенно разные имена. Так же как и в одной папке. |
|
Back to top |
|
 |
|
|
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
|