Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Показ всех файлов в выделенных каталогах. Возможно?
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Vlad7



Joined: 30 Sep 2007
Posts: 66

Post (Separately) Posted: Sat Aug 01, 2009 19:44    Post subject: Показ всех файлов в выделенных каталогах. Возможно? Reply with quote

Есть команда cm_DirBranch, позволяющая вывести списком все файлы, содержащиеся в текущем каталоге.

Есть ли способ отображения таким же образом, как это делает команда cm_DirBranch, содержимого только выделенных каталогов?
Back to top
View user's profile Send private message
cluster



Joined: 26 May 2009
Posts: 80

Post (Separately) Posted: Sat Aug 01, 2009 20:06    Post subject: Reply with quote

Переносишь выделенные каталоги во временую директорию и жмёшь там CTRL+B. Потом каталоги ложишь на место.
Back to top
View user's profile Send private message
Vlad7



Joined: 30 Sep 2007
Posts: 66

Post (Separately) Posted: Sat Aug 01, 2009 21:04    Post subject: Reply with quote

Спасибо! Как вариант, но не всегда удобно если, например, папка каким-либо образом защищена от копирования или удаления.

Иные способы возможны?

В идеале я представляю себе это так: курсором мыши выделяются нужные папки, после чего нажимается соответствующая кнопка на панели инструментов и выводится их содержимое. Еще лучше, если эта кнопка, как и cm_DirBranch работает в двух режимах - включено/выключено.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sat Aug 01, 2009 21:40    Post subject: Reply with quote

Vlad7
Если система NTFS, то создаёшь где-нибудь пустой каталог, бросаешь туда ссылки на выделенные каталоги. Дальше — то же самое, что и в варианте от cluster.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Vlad7



Joined: 30 Sep 2007
Posts: 66

Post (Separately) Posted: Sat Aug 01, 2009 22:52    Post subject: Reply with quote

CaptainFlint wrote:
Vlad7
Если система NTFS, то создаёшь где-нибудь пустой каталог, бросаешь туда ссылки на выделенные каталоги. Дальше — то же самое, что и в варианте от cluster.


Не работает. При нажатии не происходит ничего.

Раскладка клавиатуры верная, файловая система тоже. Пробовал запуск через меню.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sat Aug 01, 2009 23:08    Post subject: Reply with quote

Vlad7 wrote:
При нажатии не происходит ничего.

Я ничего не понял. При нажатии чего не происходит ничего? Где это нажимается? Что именно было проделано и как оно было проделано?
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Vlad7



Joined: 30 Sep 2007
Posts: 66

Post (Separately) Posted: Sat Aug 01, 2009 23:48    Post subject: Reply with quote

CaptainFlint wrote:
Я ничего не понял. При нажатии чего не происходит ничего? Где это нажимается? Что именно было проделано и как оно было проделано?


Действовал, исходя из данных слов:

CaptainFlint wrote:
Vlad7
Если система NTFS, то создаёшь где-нибудь пустой каталог, бросаешь туда ссылки на выделенные каталоги. Дальше — то же самое, что и в варианте от cluster.

cluster wrote:
Переносишь выделенные каталоги во временую директорию и жмёшь там CTRL+B. Потом каталоги ложишь на место.



Последовательность действий была такова:

1. Создал пустой каталог (на диске с файловой системой NTFS).
2. Разместил в нем ссылки (т.е. - ярлыки, они же файлы с расширением lnk. я правильно понял?) на выделенные папки (те самые, содержимое которых нужно отобразить).
3. Находясь в созданном каталоге, содержащем ссылки, нажал CTRL+B. Никаких изменений не произошло. Т.е., будто ничего не нажималось вовсе.
4. Тогда выбрал через главное меню ТС команду "Вид-Показать все файлы без каталогов" (в моей версии 7.01 и варианте перевода это выглядит так) и запустил ее. Снова никаких изменений.

Я все правильно понял и делал?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Aug 02, 2009 00:05    Post subject: Reply with quote

Vlad7 wrote:
т.е. - ярлыки, они же файлы с расширением lnk. я правильно понял?

Нет, неправильно. Ярлыки — это ярлыки, ссылки — это ссылки. Ярлыкам ведь пофиг, на какой файловой системе жить. Если б я говорил про них, NTFS была бы не нужна. Речь шла о символических ссылках. Подробнее см. программу NTFS Links (особенно, справку к ней, т.к. есть важные аспекты, которые необходимо учитывать при работе со ссылками, иначе можно потерять данные).
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Thu Nov 19, 2009 11:28    Post subject: Reply with quote

Для решения поставленной задачи предлагаю скрипт с использованием TCWSHelp:
Code:
'  File:         IgnoreTempList.vbs
'  Description:  Создаёт временный список исключений, состоящий из невыделенных в панели файлов/каталогов.
'     Выделенные файлы/каталоги остаются видимыми, а невыделенные исключаются из показа.
'     При каждом вызове скрипта происходит переключение между видимой и невидимой частями панели,
'    при этом выделенные файлы, (если они имеются), "перемещаются" из одной части в другую.
'     Для прекращения действия временного списка следует вызвать скрипт при отсутствии невыделенных
'    файлов,(то есть, если выделены все или выделять нечего) или вызвать внутреннюю команду
'    "Использовать список исключений файловых имён: вкл/выкл" (cm_SwitchIgnoreList). В противном случае,
'    временный список будет действовать до конца сеанса TC.
'     При наличии в TC пользовательского (постоянного) списка исключений, его содержимое добавляется
'    во временный.
'  Parameters:   Нет
'  Requirements: WSH Helper for TC by Volniy
'  Installation: Создайте для скрипта, например, кнопку на панели инструментов TC
'  Autor:        sa

Option Explicit
Dim WSH, FSO, TCS, IgFile, IgTempFile, IgPath, IgPathExp, IgEnabled, MsgStr, S, S_exp, F1, IgSize, MsgMode
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
'========== Изменяемые параметры ===============================================
'Режим информационных сообщений: 2 -назойливый, 1 -щадящий, 0 -без сообщений
MsgMode = 2
'===============================================================================
TCS.LockTC True
IgFile = "tcignore.txt"
IgTempFile = "tempignore.txt"
IgPath = "%COMMANDER_PATH%\"
IgPathExp = TCS.TCPath & "\"
IgEnabled = TCS.INIRead (TCS.MainINI, "Configuration", "IgnoreListFileEnabled", 0)
MsgStr = ""
IgSize = 0
S = TCS.INIRead (TCS.MainINI, "Configuration", "IgnoreListFile", 0)
S_exp = WSH.ExpandEnvironmentStrings(S)
If FSO.FileExists(S_exp) Then
  IgPath = Left(S, InStrRev(S,"\"))
  IgPathExp = Left(S_exp, InStrRev(S_exp,"\"))
  IgFile = Right(S,len(S)-len(IgPath))
  IgSize =  FSO.GetFile(S_exp).size
else
  Set F1 = FSO.CreateTextFile(IgPathExp & IgFile, True)
  F1.Close
  Set F1 = Nothing
end if
TCS.SendCommand (3321) 'cm_ExchangeSelBoth
TCS.SendCommand (530) 'cm_SaveSelection
TCS.SendCommand (480) 'cm_IgnoreConfig
TCS.SendKeystroke "+{TAB 6}{ENTER}010{ENTER}{LEFT}{TAB 4}{ENTER}"
if FSO.GetBaseName(TCS.INIRead (TCS.MainINI, "Configuration", "IgnoreListFile", 0)) = "010" then
  FSO.CopyFile IgPathExp & IgFile, IgPathExp & IgTempFile
  TCS.INIWrite TCS.MainINI , "Configuration", "IgnoreListFile", IgPath & IgTempFile
  TCS.SendCommand (529) 'cm_RestoreSelection
  TCS.SendCommand (480) 'cm_IgnoreConfig
  TCS.SendKeystroke "+{TAB 5}{ENTER}{TAB 2}{ENTER}"
  TCS.INIWrite TCS.MainINI, "Configuration", "IgnoreListFile", IgPath & IgFile
  if IgEnabled = 0 then MsgStr = "Задействована функция исключений файловых имён."
  if MsgMode = 2 then MsgStr = MsgStr & chr(13) & "Создан и применён временный список исключений."
else
  MsgStr = "Невыделенных файлов/каталогов не найдено."
  if IgEnabled = 1 then
    TCS.SendCommand (2922) 'cm_SwitchIgnoreList
    if IgSize > 0 then
      TCS.SendCommand (2922) 'cm_SwitchIgnoreList
      MsgStr = MsgStr & chr(13) & "Используется постоянный список исключений."
    else
      MsgStr = MsgStr & chr(13) & "Действие функции исключений файловых имён прекращено."
    end if
  end if
end if
if MsgMode > 0 and MsgStr <> "" then MsgBox MsgStr, vbSystemModal, "IgnoreTempList.vbs"
TCS.LockTC False
Set WSH = Nothing
Set FSO = Nothing
Set TCS = Nothing
Wscript.Quit
Его можно повесить на кнопку:
Code:
TOTALCMD#BAR#DATA
Диск:\путь\к\файлу\IgnoreTempList.vbs

WCMICONS.DLL,34
Временный список исключений (добавить невыделенные на панели файлы/каталоги к постоянному списку исключений)


-1
Диск и путь к файлу IgnoreTempList.vbs нужно заменить на свои.

Применение: выделить интересующие каталоги, вызвать скрипт, нажать Ctrl-B. Для возврата нажать Ctrl-B, выделить все каталоги, вызвать скрипт.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Thu Nov 19, 2009 12:12    Post subject: Reply with quote

Vlad7
Не совсем DirBranch, но очень близко.

Запускаешь поиск всех файлов в выделенных каталогах, результат поиска посылаешь в панель.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Thu Nov 19, 2009 12:26    Post subject: Reply with quote

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

Способ VadiMGP попроще будет, зато мой прикольней.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Fri Nov 20, 2009 11:57    Post subject: Reply with quote

VadiMGP wrote:
Запускаешь поиск всех файлов в выделенных каталогах, результат поиска посылаешь в панель.
Для пущего сходства можно исключить при поиске на вкладке Дополнительно > Атрибуты опцию Каталог. В плюсах такого способа возможность сохранения результатов поиска на вкладке в отличии от DirBranch.
VadiMGP wrote:
Не совсем DirBranch, но очень близко.
А есть минусы у такого способа? Большее количество нажатий клавиш не считаем (этот процесс можно и автоматизировать).
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Nov 20, 2009 12:17    Post subject: Reply with quote

sa wrote:
А есть минусы у такого способа? Большее количество нажатий клавиш не считаем (этот процесс можно и автоматизировать).

Есть. В силу ограниченности функциональности самой панели результатов поиска. Эту панель нельзя, в частности, использовать как каталог-получатель, на ней нельзя создать каталог и т.д.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Nov 20, 2009 15:17    Post subject: Reply with quote

sa wrote:
А есть минусы у такого способа?

Есть. Кроме указанных выше надо помнить, что в панели результатов поиска нет понятия "текущий каталог". То есть, если ты, например, предполагал запускать кнопки с параметром %Р, то возможны проблемы.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Tue Nov 24, 2009 11:52    Post subject: Reply with quote

VadiMGP wrote:
sa wrote:
А есть минусы у такого способа?
Есть. Кроме указанных выше надо помнить, что в панели результатов поиска нет понятия "текущий каталог". То есть, если ты, например, предполагал запускать кнопки с параметром %Р, то возможны проблемы.
Ну тогда уж до кучи давайте и минусы способа с использованием скрипта (с временным списком исключений) обсудим. Кстати скрипт можно применять и вне решаемой задачи: я пользуюсь им, когда надо на время избавиться на панели от ненужных каталогов/файлов. Чтобы "вернуть" их обратно, просто нажимаю кнопку "Использовать список исключений файловых имён: вкл/выкл".
Итак, минусы: 1. Не встроенная функция TC, к тому же требует наличия WSH Helper.
2....
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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