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, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Wankuwer



Joined: 19 Oct 2012
Posts: 3
Location: Москва

Post (Separately) Posted: Fri Oct 19, 2012 13:39    Post subject: Выделить файлы по созданному списку Reply with quote

Всем привет и сразу к делу.

1) Есть файл (Список) D:/Data.txt его содержимое:
    Tumba
    Avto
    Luk
    Planeta

2) В директории D:/Arhiv/ Находятся файлы:
    Nanunaki.jpg
    Tumba.jpg
    Avto.jpg
    Robot.jpg
    Semki.jpg
    Luk.jpg
    Planeta.jpg
    Lef.jpg


Вопрос: Как автоматом выделить файлы, имена которых есть в текстовом документе Data.txt ?

Просмотрел множество форумов, но конкретного и простого ответа не нашёл, возможно плоха смотрел, но сил уже просто нет. Речь идет о огромном массиве файлов (свыше 600 файлов), а также о n-ом наличии имен в текстовом документе, следовательно самостоятельное выделение файлов - утомительная и затратная по времени "работа".
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2198
Location: Москва, Россия

Post (Separately) Posted: Fri Oct 19, 2012 14:41    Post subject: Reply with quote

Используем Script Content Plugin.
Содержимое script.ini:
Код:
Code:
[Script]
Section=General

[General]
LongName=0
ParseDirs=0
Script=General.vbs


В каталоге плагина должен лежать файл General.vbs с содержимым:
Code:
'===========================================================================
' Колонка Result возвращает признак наличия файла\каталога в указанном файле-списке:
'   0 - файл\каталог НЕ найден; 1 - файл\каталог найден
'===========================================================================

'========== Изменяемые параметры ===========================================
Const FileList = "D:/Data.txt" 'Файл-список
'===========================================================================

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
content = Result
Set FSO = Nothing

Function Result
  Dim List, dlm
  Result = 0
  If Not FSO.FileExists(FileList) Then
    Exit Function
  End If
 
  On Error Resume Next
  List = FSO.OpenTextFile(FileList, ForReading, False).ReadAll
  If Err.Number <> 0 Then
    Exit Function
  End If
  On Error GoTo 0
 
  dlm = vbNewLine
  If InStr(1, dlm & List & dlm, dlm & FSO.GetBaseName(filename) & dlm, vbTextCompare) > 0 Then
    Result = 1
  End If
End Function


Как пользоваться для поиска.
Для выделения меняются пункты:
6. Нажать клавишу Num+. Нажать кнопку "Шаблон..."
13. Нажать "Записать". Ввести имя нового шаблона поиска, нажать "ОК". Нажать "ОК" для выбора шаблона.
14. Радоваться выделению файлов.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Wankuwer



Joined: 19 Oct 2012
Posts: 3
Location: Москва

Post (Separately) Posted: Fri Oct 19, 2012 15:17    Post subject: Reply with quote

Batya - ОГРОМНОЕ ВАМ СПАСИБО!!!
Все заработало!
Благодаря Вам, Праблема - РЕШЕНА! Wink
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4453
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 19, 2012 16:52    Post subject: Reply with quote

Есть также способ без дополнительных приспособлений. Копируем файл со списком имён в папку D:/Arhiv, к каждому имени добавляем расширение (на раз-два в любом редакторе, поддерживающем регулярные выражения: заменить $ на .jpg), чтобы имена были полными (можно использовать маски):
Quote:
Tumba.jpg
Avto.jpg
Luk.jpg
Planeta.jpg

Quote:
Tumba.*
Avto.*
Luk.*
Planeta.*

Далее копируем путь к файлу списка, открываем поиск в тотале и в поле "Место поиска" указываем @ и путь к файлу-списку. Запускаем. Посылаем результат на панель, делаем что требуется.

Пути в файле-списке должны быть относительно папке, где файл списка лежит. Если он лежит в папке с файлами, то достаточно просто имён.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Wankuwer



Joined: 19 Oct 2012
Posts: 3
Location: Москва

Post (Separately) Posted: Fri Oct 19, 2012 17:54    Post subject: Reply with quote

MVV к большому сожалению, не работает, вот скрин.

Текстовый документ Data.txt который лежит там же где и файлы (D:\Arhiv) содержит:
    Ananas.jpg
    Zebra.jpg

Файлы в дериктории: D:\Arhiv
    Ananas.jpg
    Kokos.jpg
    Planeta.jpg
    Zebra.jpg
    Data.txt

В Total Commander жму Alt+7

    Искать файлы: Оставляю пустым.
    Место поиска: @ "D:\Arhiv\Data.txt"
    Место поиска: @ D:\Arhiv\Data.txt
    Место поиска: @ D:\Arhiv

На все попытки: Указанного пути не существует!

Способ предложенный Batya работает отлично. Сложности могут возникнуть у тех, кто не хочет заворачиваться на начальном этапе и прибегать к дополнительным плагинам.

То что предлагайте Вы, так же интересно! Можно по подробнее?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2126

Post (Separately) Posted: Fri Oct 19, 2012 18:03    Post subject: Reply with quote

Wankuwer wrote:
Указанного пути не существует!

Надо обновить версию тотала.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Fri Oct 19, 2012 18:11    Post subject: Reply with quote

Wankuwer
Эта фича работает только в TC версий 8.0 и выше. Подробности — в справке.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4453
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 19, 2012 19:26    Post subject: Reply with quote

Кроме того, не надо ставить пробел между собакой @ и путём к списку.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1724
Location: Арзамас

Post (Separately) Posted: Fri Oct 19, 2012 19:31    Post subject: Reply with quote

MVV wrote:
Tumba.*
Avto.*
Luk.*
Planeta.*

? а нельзя просто
Code:
Tumba
Avto
Luk
Planeta
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4453
Location: Ростов-Дон

Post (Separately) Posted: Fri Oct 19, 2012 19:33    Post subject: Reply with quote

Tol!k wrote:
? а нельзя просто

Ну я как бы проверял. Wink
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Sergiusnet



Joined: 11 Dec 2012
Posts: 11

Post (Separately) Posted: Wed Dec 12, 2012 12:46    Post subject: Reply with quote

А если нужно найти не файлы, а папки, как тогда быть?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11878
Location: Москва

Post (Separately) Posted: Sat Dec 15, 2012 15:45    Post subject: Reply with quote

Убрать * на конце, но тогда будут найдены ещё и одноимённые файлы без расширений.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Sergiusnet



Joined: 11 Dec 2012
Posts: 11

Post (Separately) Posted: Sun Dec 16, 2012 02:37    Post subject: Re: Выделить файлы по созданному списку Reply with quote

Wankuwer
выделить все нужные файлы по списку можно скопировав имена в буфер и через меню выделение-загрузить выделение из буфера, скриптов никаких не нужно и поисков
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sun Dec 16, 2012 09:15    Post subject: Reply with quote

Sergiusnet
А попроще никак? Зачем что-то копировать в буфер, когда по исходному условию в каталоге уже есть текстовик с именами файлов? Выполняем команду "Загрузить выделение из файла" (cm_LoadSelectionFromFile) — и всё.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Slamzor



Joined: 26 May 2013
Posts: 19

Post (Separately) Posted: Mon May 27, 2013 21:02    Post subject: Reply with quote

Добрый вечер!
У меня файлы в папке, имеют следующие названия: некий шифр(заканчивается на две латинские буквы и четыре цифры - FI00021 в примере)_имя_версия_дата(год_месяц_день).
Нужно разделить файлы на две "корзины", с помощью колонки из екселя-списка. В этом списке есть имена.

Вопрос, как можно выделить, чтобы впоследствии скопировать файлы по списку, учитывая дату создания. Нужны файлы с последней датой.
Пример:
50_3_МКО_06_FI00021_Отчет_01_2013_03_23

Что сделал:
1. Установил Script Content Plugin ( в настройках отображен-C:\program files\ ... \script.wdx
2. Const FileList = "C:FileList.txt" 'Файл-список.
3. В General прописал путь C:FileList.txt.
4. В FileList вношу строку для поиска Отчет.
5. Выполняю
Quote:
Для выделения меняются пункты:
6. Нажать клавишу Num+. Нажать кнопку "Шаблон..."
13. Нажать "Записать". Ввести имя нового шаблона поиска, нажать "ОК". Нажать "ОК" для выбора шаблона.
14. Радоваться выделению файлов.

7.Получаю выделение всех файлов
Где я ошибся?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
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