<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Батник поиска]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=10709</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10709&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Батник поиска».]]></description>
		<lastBuildDate>Tue, 23 Jun 2015 17:11:57 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Батник поиска]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94709#p94709</link>
			<description><![CDATA[<p><strong>texnar</strong><br />Ссылкой не поделитесь?</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Tue, 23 Jun 2015 17:11:57 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94709#p94709</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Батник поиска]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94682#p94682</link>
			<description><![CDATA[<p>Я уже нашел решение спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (texnar)]]></author>
			<pubDate>Sun, 21 Jun 2015 16:08:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94682#p94682</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Батник поиска]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94655#p94655</link>
			<description><![CDATA[<p>Как я понимаю использование именно пакетных файлов необязательно.</p><p>Доработал на Autohotkey в сторону полной автоматизации решение из темы <a href="http://forum.script-coding.com/viewtopic.php?id=9297">VBScript: Работа с проводником Windows (поиск файлов)</a>, можно переписать и на JScript/VBScript с использованием <a href="http://www.script-coding.com/AutiItX.html"><em>AutoItX3.Control</em></a>.</p><p>Решение приведено для русской Windows XP, для более поздних версий, вероятно будут другие номера и текст элементов управления...</p><p>Поиск по файлам Office 2010 работает (проверил только для Word).<br /></p><div class="codebox"><pre><code>#NoEnv
; Исходные данные
SearchPath = D:\Sandbox
SearchQuery = hello world

; Создаём скрытое окно Проводника и открываем в нём папку, в которой надо искать
ExplorerWindow := ComObjGet(&quot;new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}&quot;)
ExplorerWindow.Navigate(SearchPath)
while (ExplorerWindow.Busy)
    Sleep 1

; Подстройка вида поиска
RegWrite REG_DWORD, HKCU, Software\Microsoft\Search Assistant
    , UseAdvancedSearchAlways, 1

; Управляем окном Проводника, подражая действиям пользователя
DetectHiddenWindows On
WinTitle := &quot;ahk_id &quot; . ExplorerWindow.HWND
;    Открываем по F3 панель &quot;Поиск&quot;
ControlSend, , {F3}, %WinTitle%        
;    и ожидаем её загрузки
WinWait %WinTitle%, С&amp;лово или фраза в файле:
;    Заполняем поле запроса
ControlSetText Edit3, %SearchQuery%
Sleep 1000 ; Здесь нужна задержка - как сделать точнее?!
;    Нажимаем кнопку &quot;Найти&quot;
ControlClick На&amp;йти
;    По доступности кнопок &quot;Найти&quot; и &quot;Остановить&quot; ожидаем завершения поиска:
Loop {
    ControlGet Enabled, Enabled,, На&amp;йти
    if (!Enabled)
        break
    Sleep 1
}
Loop {
    ControlGet Enabled, Enabled,, Остановит&amp;ь
    if (!Enabled)
        break
    Sleep 100
}

; Обрабатываем результаты поиска
ShellFolderItems := ExplorerWindow.Document.Folder.Items
Count := ShellFolderItems.Count
MsgBox Найдено %Count% файлов/папок
Loop %Count% {
    ShellFolderItem := ShellFolderItems.Item(A_Index - 1)
    MsgBox % ShellFolderItem.Path
}

; Закрываем окно Проводника (если оно невидимо, то это не обязательно)
ExplorerWindow.Quit()
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sun, 21 Jun 2015 05:19:14 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94655#p94655</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Батник поиска]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94650#p94650</link>
			<description><![CDATA[<div class="quotebox"><cite>Yury пишет:</cite><blockquote><p>Невозможно.</p></blockquote></div><p>Там ещё скрипт был указан, т.ч. <a href="http://forum.script-coding.com/viewtopic.php?pid=32182#p32182">возможно</a>. Правда, только с версией офиса ниже 2007...</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Sat, 20 Jun 2015 19:12:08 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94650#p94650</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Батник поиска]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94643#p94643</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Мои самостоятельные попытки создать батник</p><p>DIR C:\ /S /B | FINDSTR /I &quot;dipl курс&quot;&gt;&gt;result.txt</p></blockquote></div><br /><p>Абсолютно некорркетный подход, так как будут найдены и все файлы и папки, у которых соответствие с поисковыми шаблонами будет не только в имени, но и в пути, например, такой файл: </p><div class="quotebox"><blockquote><p>C:\dipl\абракадабра.txt</p></blockquote></div><p>.</p><br /><br /><br /><div class="quotebox"><blockquote><p>1. Проблемы с русской кодировкой</p></blockquote></div><br /><br /><p>Для различных версий утилиты &quot;findstr.exe&quot; эта проблема решается по-разному. Более-менее универсальным решением является использование списка шаблонов поиска в текстовом файле в обычной кодировке (&quot;Win-1251&quot;).</p><br /><br /><br /><div class="quotebox"><blockquote><p>2. Не ищет в содержимом файлов</p></blockquote></div><br /><p>И не будет искать, потому что для этого нужен другой механизм поиска: </p><div class="codebox"><pre><code>&gt;&quot;result.txt&quot; findstr/imls &quot;dipl курс&quot; &quot;C:\*.txt&quot;</code></pre></div><p>.<br />Кстати, этот код также может работать с багами, даже не связанными с поиском кириллических строк, и не находить файлы. Поэтому лучше использовать цикл с &quot;FOR&quot; для поиска в каждой папке, выведенной командой &quot;DIR&quot; с ключом &quot;/S&quot; для рекурсивного отображения.</p><br /><br /><br /><div class="quotebox"><blockquote><p>3. Ищет только в C:\</p></blockquote></div><br /><p>Поиск по всем возможным дискам: </p><div class="codebox"><pre><code>&gt;&quot;result.txt&quot; (for /l %%i in (65 1 90) do @cmd/c exit/b %%i&amp; 2&gt;nul cmd/v/c dir/a/b/s &quot;!=ExitCodeAscii!:\*dipl*&quot;)</code></pre></div><p>.<br />Также пример подобного кода можете увидеть в теме &quot;<a href="http://forum.script-coding.com/viewtopic.php?pid=89058#p89058">CMD/BAT: Как прописать все диски?</a>&quot;.</p><br /><br /><br /><div class="quotebox"><blockquote><p>в содержимом... офисных файлов</p></blockquote></div><br /><p>Невозможно.</p><br /><br /><br /><div class="quotebox"><blockquote><p>Слов для поиска много 100+ компьютер не должен уходить в ступор на полдня.</p></blockquote></div><br /><p>Вы не должны что-то искать в содержимом абсолютно всех файлов, а искать только в файлах с определёнными расширениями или, наоборот, исключать из поиска файлы с какими-то расширениями.</p><br /><br /><br /><div class="quotebox"><blockquote><p>Финансовая политика - бюджет и условия называете сами.</p></blockquote></div><br /><p>$300... Не-а... $310... Каждому! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Yury)]]></author>
			<pubDate>Sat, 20 Jun 2015 13:47:11 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94643#p94643</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Батник поиска]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=94641#p94641</link>
			<description><![CDATA[<p>Описание:</p><p>Нужнен батник или скрит c регистро независимым поиском ключевых слов заданных через разделитель в тело батника, скрипта или из txt файла (второй вариант желательнее), который будет искать латинские и кирилические слова в именах папок, файлов и в содержимом текстовых - офисных файлов по всему компьютеру на физических дисках, смонтированых дисках (флешках) и в сетевом окружении (сетевых дисках). С выводом результатов поиска - путей к найденым файлам в текстовый файл в папку откуда он запущена. Если в содержимом одного и того же файла найдено несколько ключевых, или несколько раз повторяющееся ключевое слово - пути не должны дублироваться.</p><p>Примечания:</p><p>Слов для поиска много 100+ компьютер не должен уходить в ступор на полдня. Скрипт аналог Windows Search с настройками по умолчанию + галочка &quot;Всегда искать по именам файлов и содержимому&quot;.</p><p>Пример:</p><p>dipl OR курс должен найти все папки и файлы с именами и содержимым diplom и курсовая с сохранением результатов поиска в текстовый файл в виде путей\имен файлов и папок. Пример вывода:</p><p>C:\Rostik\Admin\Desktop&gt;Diplom<br />C:\Rostik\Admin\Desktop&gt;Задание\Курсовая.docx</p><p>Мои самостоятельные попытки создать батник </p><p>DIR C:\ /S /B | FINDSTR /I &quot;dipl курс&quot;&gt;&gt;result.txt</p><p>Недостатки:</p><p>1. Проблеммы с русской кодировкой<br />2. Не ищет в содержимом файлов<br />3. Ищет только в C:\</p><p>Кто готов исправить батник за буду только рад.</p><p>Финансовая политика - бюджет и условия называете сами.</p><p>Всем спабо вопрос решен!</p>]]></description>
			<author><![CDATA[null@example.com (texnar)]]></author>
			<pubDate>Sat, 20 Jun 2015 10:25:16 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=94641#p94641</guid>
		</item>
	</channel>
</rss>
