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 

Автоматизация поиска

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Yuk



Joined: 24 Nov 2009
Posts: 2

Post (Separately) Posted: Tue Nov 24, 2009 23:58    Post subject: Автоматизация поиска Reply with quote

Есть текстовый файл строк примерно в 100 или более. Надо найти файлы в определенном каталоге (все файлы текстовые), в которых встречается хотя бы одна строка из первого файла (где и как угодно, без учета символа конца строки).
Можно это сделать в ТС?
Спасибо.
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Wed Nov 25, 2009 01:25    Post subject: Reply with quote

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



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

Post (Separately) Posted: Wed Nov 25, 2009 01:55    Post subject: Reply with quote

Yuk, примерно так:
findstr /m /g:список_строк.lst d:\путь\*.txt > найдено.lst
подробности: findstr /?
Back to top
View user's profile Send private message
Yuk



Joined: 24 Nov 2009
Posts: 2

Post (Separately) Posted: Wed Nov 25, 2009 21:16    Post subject: Reply with quote

Tol!k
Спасибо. Работает.

Не получается засунуть в Старт Меню, чтобы использовался файл под курсором, а директория в другой панели.

Command: cmd /c
Parameteres: findstr /m /g:"%N" "%T" > found.txt

Файл создается, но пустой. А из командной строки все работает.
А можно ли сделать, чтобы найденные файлы выделялись?
Back to top
View user's profile Send private message
Tol!k



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

Post (Separately) Posted: Wed Nov 25, 2009 21:58    Post subject: Reply with quote

Code:
Parameteres: findstr /m /g:%N "%T*" > found.txt

Quote:
А можно ли сделать, чтобы найденные файлы выделялись?

В TC есть команды cm_LoadSelectionFromFile и cm_LoadSelectionFromClip (файлы выделяются в активной панели)
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 59

Post (Separately) Posted: Thu Mar 25, 2010 14:25    Post subject: Reply with quote

Всё прекрасно работает, если в указанном каталоге лежат непосредственно сами файлы, в которых производится поиск, но как быть если надо производить поиск во всех вложенных папках, начиная с указанного каталога?
Back to top
View user's profile Send private message
Tol!k



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

Post (Separately) Posted: Thu Mar 25, 2010 14:40    Post subject: Reply with quote

findstr/? wrote:
/D:список_папок — Поиск в списке папок (разделяются точкой с запятой)

Добавлено
Видимо, невнимательно прочитал
Quote:
поиск во всех вложенных папках, начиная с указанного каталога
Проще использовать параметр /S

Last edited by Tol!k on Fri Mar 26, 2010 13:56; edited 1 time in total
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 59

Post (Separately) Posted: Thu Mar 25, 2010 19:13    Post subject: Reply with quote

Сурово! Shocked

И ещё в добавок, что то не выходит у меня, помотрите пожалуйста, где накосячил:

1. Ничего не находит
findstr /m /g:"%N" "c:\TempDir\13\*";"c:\TempDir\14\*" > found.txt

2. Запускается cmd и ничего не происходит
findstr /m /g:"%N" /D:"c:\TempDir\13\*";"c:\TempDir\14\*" > found.txt

ещё несколько 5-ок вариаций перепробовал, напишите пожалуйста как правильно надо Embarassed
Back to top
View user's profile Send private message
Tol!k



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

Post (Separately) Posted: Fri Mar 26, 2010 14:15    Post subject: Reply with quote

a) %N вредно заключать в кавычки
б) findstr /m /g:%N /d:"c:\TempDir\13";"c:\TempDir\14" *.* > found.txt

дальше наоборот: файл-список-слов под курсором, но в НЕактивной панели
в) findstr /s /m /g:%T%M *.* > found.txt — поиск в текущем каталоге и его подкаталогах
г) findstr /m /g:%T%M /f:%L > found.txt — файлы, в которых производится поиск, выделены в активной панели
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 59

Post (Separately) Posted: Fri Mar 26, 2010 20:58    Post subject: Reply with quote

Огромнейшее вам спасибо, так намного лучше! Wink
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
Page 1 of 1

 
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