<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Поиск файлов по списку из текстового файла]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=16167</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16167&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Поиск файлов по списку из текстового файла».]]></description>
		<lastBuildDate>Fri, 12 Mar 2021 15:08:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146745#p146745</link>
			<description><![CDATA[<p>Ещё короче:<br /></p><div class="codebox"><pre><code>Files := &quot;&quot;
FileRead, ExludeList, ExludeList.txt

Loop, Files, %SourceDir%\*, R
   if !RegExMatch(ExludeList, &quot;m`a)^\Q&quot; . A_LoopFileName . &quot;\E$&quot;)
      Files .= A_LoopFileName . &quot;`n&quot;
   
MsgBox, % Files</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 12 Mar 2021 15:08:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146745#p146745</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146744#p146744</link>
			<description><![CDATA[<p><strong>teadrinker</strong> ... кстати, сразу видно Мастера - у Вас код короче получился <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Fri, 12 Mar 2021 13:52:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146744#p146744</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146743#p146743</link>
			<description><![CDATA[<p><strong>teadrinker</strong> ОК, понял.<br />Благодарю за работу и помощь!<br />Буду копать далее ...</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Fri, 12 Mar 2021 13:45:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146743#p146743</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146742#p146742</link>
			<description><![CDATA[<div class="quotebox"><cite>BlackCat пишет:</cite><blockquote><p>Ничего универсального для чтения всех кодировок придумать невозможно?</p></blockquote></div><p>Нет, кодировка текстового файла определяется только по BOM, если её нет, то считается, что кодировка ANSI.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 12 Mar 2021 13:28:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146742#p146742</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146741#p146741</link>
			<description><![CDATA[<p>Для данного случая подойдёт и cp 1251, точнее это скорее всего ANSI, но иногда требуется сохранить Unicode-символы, которых нет в ANSI, в таких случаях и нужна кодировка UTF-8. Например, такой скрипт сохранить в ANSI не получится:<br /></p><div class="codebox"><pre><code>MsgBox, ø ¼ š</code></pre></div><p>Поэтому просто поставьте по умолчанию кодировку UTF-8 с BOM.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 12 Mar 2021 13:23:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146741#p146741</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146740#p146740</link>
			<description><![CDATA[<p><strong>teadrinker</strong>, ну да, так и есть!<br />Для написания скриптов AHK использую Notepad++ со всеми интересными мне плагинами и подсветкой синтаксиса AHK<br />По-умолчанию он создает текстовые файлы в кодировке UTF-8 БЕЗ BOM<br />Тогда какой смысл использовать кодировку UTF-8 с BOM, если можно просто зафигачить весь список в кодировку 1251 - файл, созданный средствами винды???<br />... конечно, можно в настойках Notepad++ установить нужную кодировку для новых файлов, но .... лень, да и не каждый захочет или поймет, как это сделать ... в любом случае должна присутствовать &quot;страховка от дурака&quot;.<br />Ничего универсального для чтения всех кодировок придумать невозможно? - В этом вопросе я пока zero.</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Fri, 12 Mar 2021 12:41:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146740#p146740</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146739#p146739</link>
			<description><![CDATA[<div class="quotebox"><cite>BlackCat пишет:</cite><blockquote><p>русские названия не воспринимает</p></blockquote></div><p>Если не воспринимает, значит кодировка списка была UTF-8-RAW, то-есть без <a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B5%D1%80_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2">BOM</a>. Измените на UTF-8 с BOM или добавьте явно кодировку в скрипт первой строчкой:<br /></p><div class="codebox"><pre><code>FileEncoding, UTF-8</code></pre></div><p>и всё будет ок.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 12 Mar 2021 10:14:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146739#p146739</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146738#p146738</link>
			<description><![CDATA[<p><strong>teadrinker</strong>, хорошая попытка, но такая же фигня - русские названия не воспринимает.<br />Т.е., если в списке есть файл, напр. &quot;Новый текстовый документ.txt&quot; и он есть в директории поиска, то он все-равно отображается в msgbox.<br />Суть проблемы понял - изменил кодировку файла списка с UTF-8 на виндовую 1251 и все заработало.<br />Но все-равно спасибо за помощь!</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Fri, 12 Mar 2021 07:53:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146738#p146738</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146736#p146736</link>
			<description><![CDATA[<p>Думаю, так должно сработать:<br /></p><div class="codebox"><pre><code>Exclude := {}, Files := &quot;&quot;
FileRead, ExludeList, ExludeList.txt

Loop, parse, ExludeList, `n, `r
   Exclude[A_LoopField] := &quot;&quot;

Loop, Files, %SourceDir%\*, R
   if !Exclude.HasKey(A_LoopFileName)
      Files .= A_LoopFileName . &quot;`n&quot;
   
MsgBox, % Files</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 11 Mar 2021 21:54:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146736#p146736</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146733#p146733</link>
			<description><![CDATA[<p>В общем, на исключение файлов из поиска, имена которых находятся в текстовом файле, работает этот код:<br /></p><div class="codebox"><pre><code>ExludeList := &quot;ExludeList.txt&quot;

Exlude := []
Loop read, % ExludeList
	{
	Exlude.push(A_LoopReadLine)
	}
	
Loop % SourceDir &quot;\*&quot;, 0, 1
	{
	Found := 0
	For Each, Filename in Exlude
	If (Filename = A_LoopFileName){
		Found := 1
		}
	If (!Found){
		Files .= A_LoopFileName &quot;`n&quot;
		}
	}
	
MsgBox % Files
</code></pre></div><p>Может кому пригодится.<br />Единственный недостаток - почему-то не понимает кириллицу, хотя текстовой файл списка в UTF-8</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Thu, 11 Mar 2021 18:34:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146733#p146733</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146713#p146713</link>
			<description><![CDATA[<p><strong>Alectric</strong> благодарю за ответ, но результат тот же, что и с моим кодом.</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Wed, 10 Mar 2021 17:24:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146713#p146713</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146710#p146710</link>
			<description><![CDATA[<p>Цикловые переменные (A_Loop* или A_Index) действительны в пределах только одного цикла (то есть в пределах фигурных скобок). Чтобы использовать их во &quot;вложенном&quot; цикле - нужно присвоить их содержимой другой переменной и использовать ее.<br /></p><div class="codebox"><pre><code>List := &quot;List.txt&quot;

Loop read, % List
  {
  tmpvar:=A_LoopReadLine
  Loop % SourceDir &quot;\*&quot;, 0, 1
    {
    If (A_LoopFileName != tmpvar) {
      Files .= A_LoopFileName &quot;`n&quot;
      }
    }
  }
  
msgbox % Files</code></pre></div><p>Код не проверял, просто для примера.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 10 Mar 2021 17:11:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146710#p146710</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Поиск файлов по списку из текстового файла]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=146706#p146706</link>
			<description><![CDATA[<p>Добрый день всем!<br />Пытаюсь сделать скрипт, который будет искать файлы, имена которых находятся в текстовом файле.<br />Повод: это универсальный метод поиска нужных директорий и фалов, т.к. гораздо быстрее отредактировать текстовой файл, чем редактировать весь скрипт.<br />К тому же, он может быть скомпилирован в *.exe файл, который не поддается редактированию штатными средствами.<br />К примеру, файл списка &quot;List.txt&quot; содержит следующие имена файлов:<br /></p><div class="codebox"><pre><code>EULA.txt
ListDevices.txt
setup.cfg
setup.exe</code></pre></div><p>Такой код для поиска имеющихся в списке файлов работает:<br /></p><div class="codebox"><pre><code>List := &quot;List.txt&quot;

Loop read, % List
	{
	Loop % SourceDir &quot;\*&quot;, 0, 1
		{
		If (A_LoopFileName = A_LoopReadLine){
			Files .= A_LoopFileName &quot;`n&quot;
			}
		}
	}
	
msgbox % Files</code></pre></div><p>Следующая конструкция, которая по идее должна исключить эти файлы из поиска, не работает:<br /></p><div class="codebox"><pre><code>List := &quot;List.txt&quot;

Loop read, % List
	{
	Loop % SourceDir &quot;\*&quot;, 0, 1
		{
		If (A_LoopFileName != A_LoopReadLine) {
			Files .= A_LoopFileName &quot;`n&quot;
			}
		}
	}
	
msgbox % Files
</code></pre></div><p>Не подскажете, в чем причина и как правильно сделать срипт, который будет исключать из поиска файлы в списке?<br />Признателен за любую помощь!</p>]]></description>
			<author><![CDATA[null@example.com (BlackCat)]]></author>
			<pubDate>Wed, 10 Mar 2021 07:36:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=146706#p146706</guid>
		</item>
	</channel>
</rss>
