<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JScript + поиск]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5324&amp;type=atom" />
	<updated>2011-01-14T09:40:15Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5324</id>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43726#p43726" />
			<content type="html"><![CDATA[<p>Если принять тестовый прогон, где код такой:</p><div class="codebox"><pre><code>&lt;script type=&quot;text/javascript&quot;&gt;
var putfiles = &quot;c:\\test.temp&quot;
function reredir1() {
if (confirm(&quot;Обновить базу файлов, press &#039;OK&#039;?&quot;)) {
var filesall = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;); // Создаем объект для занесения всех путей файлов
var file1 = filesall.CreateTextFile(putfiles, true);    // Создаем файл полных путей
    //цикл обхода проектов
    for (var j = 25600; j &lt; 25650; j++) {
    var h = j + 1;
    var name5 = name3 + h + &#039;\u005C&#039; + h;
    for (var i = 0; i &lt; 27; i++) {
    xnamefiles1 = name5 + filesmassiv[i];
        //if (xnamefiles1 &gt; 0)
    file1.WriteLine(ShowFileList1(xnamefiles1));
    }
}

file1.Close();
alert(&quot;Обновление базы файлов завершено&quot;);
}
else alert(&quot;Обновление базы файлов не произведено&quot;);
}
&lt;/script&gt;</code></pre></div><p>то в файле появляются ненужные пустые строки, которые повидимому и тормозят исполнение скрипта так сильно...<br />пробовал включить условие, но не пойму как повлиять на результат вывода списка, где в условии строки являются НЕПУСТЫМИ, то их включить в список, а иначе - невключать, подскажите?</p><p>что-то вроде этого:<br /></p><div class="codebox"><pre><code>if (ShowFileList1(xnamefiles1) = &quot; &quot;) file1.WriteLine(ShowFileList1(xnamefiles1));</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2011-01-14T09:40:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43726#p43726</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43717#p43717" />
			<content type="html"><![CDATA[<p>Разбил скрипт на 2...</p><div class="codebox"><pre><code>&lt;form&gt;
&lt;input name=refrech type=submit value=&quot;Обновить базу каталогов&quot; onClick=&quot;reredir0()&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;input name=refrech type=submit value=&quot;Обновить базу файлов&quot; onClick=&quot;reredir1()&quot;&gt;
&lt;/form&gt;
&lt;br&gt;&lt;br&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
var putcatalog = &quot;c:\\pkoarhiv0.temp&quot; // из js перенесено в код временно, абсолютный полный путь к базе каталогов
document.write(&quot;Количество проектов в архиве: &quot; + totalproekt + &#039;&lt;br&gt;&#039; + &#039;В каждом проекте папок подпроектов: &#039; + totalproektfolders + &#039;&lt;br&gt;&#039;)

// модуль создания и обновления базы каталогов
function reredir0() {
if (confirm(&quot;Обновить базу каталогов, press &#039;OK&#039;?&quot;)) {
var foldersall = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);  // Создаем объект для занесения всех подпапок
var file0 = foldersall.CreateTextFile(putcatalog, true);    // Создаем файл подкаталогов
// далее - код обхода папки *name4* с занесением данных в массив(ы) и/или c записью в файл(ы) на диск с использованием функции ShowFileList из data3.js
//  записи папок и файлов
var  xnamefiles0=name4
file0.WriteLine(ShowFileList0(xnamefiles0));
file0.Close();

alert(&quot;Обновление базы каталогов завершено&quot;);
}
else alert(&quot;Обновление базы каталогов не произведено&quot;);
}
&lt;/script&gt;




&lt;script type=&quot;text/javascript&quot;&gt;
var putfiles = &quot;c:\\pkoarhiv1.temp&quot; // из js перенесено в код временно, абсолютный полный путь к базе файлов
// модуль создания и обновления базы файлов
function reredir1() {
if (confirm(&quot;Обновить базу файлов, press &#039;OK&#039;?&quot;)) {
var filesall = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;); // Создаем объект для занесения всех путей файлов
var file1 = filesall.CreateTextFile(putfiles, true);    // Создаем файл полных путей
// далее - код обхода папки *name4* с занесением данных в массив(ы) и/или c записью в файл(ы) на диск с использованием функции ShowFileList из data3.js
//  записи папок и файлов

//цикл обхода проектов
for (var j = 0; j &lt; 28000; j++) {
var h = j + 1;
var name5 = name3 + h + &#039;\u005C&#039; + h;
    for (var i = 0; i &lt; 27; i++) {
    xnamefiles1 = name5 + filesmassiv[i];
    file1.WriteLine(ShowFileList1(xnamefiles1));
    }
}

file1.Close();
alert(&quot;Обновление базы файлов завершено&quot;);
}
else alert(&quot;Обновление базы файлов не произведено&quot;);
}
&lt;/script&gt;</code></pre></div><p>Есть соответствующие претензии т.к. он выполняется на стороне клиента:<br />1. обновление базы каталогов происходит медленно - примерно 5-7 минут.<br />2. обновление базы файлов вообще не смогло пройти, после 30 мин. сообщение браузера - Дальнейшее выполнение скрипта может &quot;типа подвесить&quot; компьютер и предложил 2 варианта - продолжить или завершить, <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />. Т.к. рабочий день близится к завершению - отменил. По моим прикидкам должно около 2 часов уйти на перезаливку этой второй базы.. что не есть хорошо.</p><br /><p>Ребят, что делать то?!:rolleyes::o</p>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2011-01-14T08:06:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43717#p43717</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43714#p43714" />
			<content type="html"><![CDATA[<p>Вот и каникулы&quot; закончились - приступаем к работе...</p><p>Для 100% наглядности привожу страничку хтм с необходимыми включениями и не претендую на элегантность и компактность кода...<br />Прошу мне подсказать можно ли без применения цикла вывести в файл перечень полных путей всех файлов в подпапках нужной мне главной папки - name4, т.к. такой код видит файлы только в главной папке минуя все вложенные &quot;подпапки&quot;?</p><div class="codebox"><pre><code>&lt;table width=100% cellpadding=0 cellspacing=0&gt;
&lt;tr&gt;
&lt;td class=head align=right&gt;
&lt;img src=&quot;images/pt.gif&quot; width=1 height=3&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;


&amp;nbsp;&amp;nbsp;&lt;h2 align=&quot;center&quot;&gt;МА. Создание и Обновление файла-базы архива.&lt;/h2&gt;
&lt;hr noshade size=1&gt;

&lt;table&gt;
&lt;tr&gt;
&lt;td width=30&gt;&lt;/td&gt;
&lt;td&gt;
&lt;span class=h5&gt;


Разрешите выполнение всех сценариев ActiveX на данной странице!&lt;br&gt;&lt;br&gt;
При нажатии кнопки &quot;Обновить&quot; автоматически создается файл-база, содержащий имена всех папок,
подпапок и файлов всего архива,а старый файл-база затирается автоматически.&lt;br&gt;
Пожалуйста, дождитесь завершения обновления файл-базы, после завершения обновления здесь появится соответствующее сообщение.
&lt;br&gt;&lt;br&gt;

&lt;form&gt;
&lt;input name=refrech type=submit value=&quot;Обновить&quot; onClick=&quot;reredir()&quot;&gt;
&lt;/form&gt;
&lt;br&gt;&lt;br&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
    totalproekt = &#039;28000&#039; // из js перенесено в код временно
    name3 = &quot;\u005C\u005C192.168.130.100\u005Carhiv\u005Cscan\u005C&quot; // из js перенесено в код временно
    name4 = &quot;\u005C\u005C192.168.130.100\u005Carhiv\u005Cscan&quot; // из js перенесено в код временно
//  функция
  function ShowFileList0(xnamefiles0) {
   var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);
   var f = fso.GetFolder(xnamefiles0);
   var fc = new Enumerator(f.SubFolders);
   var s = &quot;&quot;;
   for (; !fc.atEnd(); fc.moveNext())
      s += fc.item() + &#039;\n&#039;;
   return s;
   }
//  и еще функция
  function ShowFileList1(xnamefiles1) {
   var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);
   var f = fso.GetFolder(xnamefiles1);
   var fc = new Enumerator(f.Files);
   var s = &quot;&quot;;
   for (; !fc.atEnd(); fc.moveNext())
      s += fc.item() + &#039;\n&#039;;
   return s;
   }
//    а также
    // ниже - массив с элементами для перебора подпапок
    var filesmassiv = [&quot;a&quot;, &quot;ar&quot;, &quot;as&quot;, &quot;em&quot;, &quot;en&quot;, &quot;eo&quot;, &quot;es&quot;, &quot;gp&quot;, &quot;gs&quot;, &quot;kj&quot;, &quot;km&quot;, &quot;kmd&quot;, &quot;m&quot;, &quot;nk&quot;, &quot;nv&quot;, &quot;nvk&quot;, &quot;os&quot;, &quot;ov&quot;, &quot;pb&quot;, &quot;pg&quot;, &quot;ps&quot;, &quot;pt&quot;, &quot;ss&quot;, &quot;tk&quot;, &quot;ts&quot;, &quot;tx&quot;, &quot;vk&quot;];
   var totalproektfolders = 27 // из js перенесено в код временно
//    вроде все из js
var putcatalog = &quot;c:\\pkoarhiv1.temp&quot; // из js перенесено в код временно, абсолютный полный путь к файлу-базе 1
var putfiles = &quot;c:\\pkoarhiv2.temp&quot; // из js перенесено в код временно, абсолютный полный путь к файлу-базе 2

document.write(&quot;Количество проектов в архиве: &quot; + totalproekt + &#039;&lt;br&gt;&#039; + &#039;В каждом проекте папок подпроектов: &#039; + totalproektfolders + &#039;&lt;br&gt;&#039;)

// модуль создания и обновления базы
function reredir() {
if (confirm(&quot;Обновить базу, press &#039;OK&#039;?&quot;)) {
var filesall = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;); // Создаем объект для занесения всех путей файлов
var foldersall = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);  // Создаем объект для занесения всех подпапок
var file0 = foldersall.CreateTextFile(putcatalog, true);    // Создаем файл подкаталогов
var file1 = filesall.CreateTextFile(putfiles, true);    // Создаем файл полных путей

// далее - код обхода папки *name4* с занесением данных в массив(ы) и/или c записью в файл(ы) на диск с использованием функции ShowFileList из data3.js
//  записи папок и файлов

var xnamefiles0=name4
file0.WriteLine(ShowFileList0(xnamefiles0));
file0.Close();

var xnamefiles1=name4
file1.WriteLine(ShowFileList1(xnamefiles1));
file1.Close();

alert(&quot;Обновление базы завершено&quot;);

}
else alert(&quot;Обновление базы не произведено&quot;);
}
&lt;/script&gt;





&lt;br&gt;&lt;br&gt;
Интересная должно быть конструкция, жаль не работает *применяя ее в лоб*:&lt;br&gt;
dir /b /s /a-d *.tif | find /v &quot;.SP.&quot; &gt; dir.txt
&lt;br&gt;&lt;br&gt;
Хорошо бы еще сюда добавить индикацию для нетерпеливых или нестабильной локалки, :)... но это позже.
&lt;br&gt;&lt;br&gt;

&lt;/span&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;br&gt;&lt;br&gt;

&lt;hr noshade size=1&gt;</code></pre></div><p>Rumata, стыдно мне признать, но вашу подсказку я так и не смог применить на деле...<br />Как то преподаватель сказал нам: &quot;У человека есть несколько этапов познания - 1-й=я знаю предмет, 2=О Боже, я ничего уже не понимаю, я ничего получается и не знаю!, и 3- ну вот теперь я все знаю!&quot;, <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />, думаю я в настоящий момент (после прочтения 5% одной полной книги по яваскрипту из 5(!) скаченных книг) начинаю путь из 2 этапа в 3, <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />.</p><br /><p>В коде есть пока еще не использованные переменные и данные типа - filesmassiv, которые будут использованы в ближайшее время...</p>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2011-01-14T04:32:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43714#p43714</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43200#p43200" />
			<content type="html"><![CDATA[<p>Загрузите на slil.ru. На мой взгляд <strong>Rumata</strong> решил вашу задачу.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2010-12-30T11:29:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43200#p43200</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43195#p43195" />
			<content type="html"><![CDATA[<p>Здесь можно вспомогательные файлы прикреплять? например, рар или зип.. так будет нагляднее.<br />Спасибо за подсказку, я эту конструкцию и не видел в справочнике (нет примера ее использования, упоминание только вскользь)</p>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2010-12-30T07:52:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43195#p43195</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43191#p43191" />
			<content type="html"><![CDATA[<p>Бррр. Ничего не понятно. Озвучьте толково что требуется?</p><p>Составить список файлов и отсеить ненужное просто:<br /></p><div class="codebox"><pre><code>dir /b /s /a-d *.tif | find /v &quot;.SP.&quot; &gt; dir.txt</code></pre></div><p>Вы можете это пропустить через еще один фильтр, который сформирует готовую html-страничку.</p><p>P.S. Кажется Вы создавали подобную тему?</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2010-12-30T06:35:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43191#p43191</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43190#p43190" />
			<content type="html"><![CDATA[<p>OFF.</p><p>Чуть незабыл - всех с наступающим Новым Годом!!!</p><p>/а я весь в мыслях и работе... <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />/</p>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2010-12-30T05:26:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43190#p43190</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JScript + поиск]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=43189#p43189" />
			<content type="html"><![CDATA[<p>Добрый день, Господа.</p><p>Прошу оказать информационную поддержку и помощь по выбору способа, а именно:</p><p>хочу сделать НЕ НА СТОРОНЕ клиента создание файла-базы с сохранением на расшаренном ресурсе всех имен файлов этого самого расшаренного ресурса. <br />Доступ у пользователей - чтение 1 общей папки, а в ней 28000 папок, в каждой 27 подпапок, а там от 0 до 50 файлов типа тифф и пдф.<br />Делаю для этого админку, а в ней скриптом создается единственный текстовой файл, где будет содержаться имя каждого файла расшаренного ресурса. <br />Имя расшаренных файлов типа TXW.01.0140A0000.25605.032_031.tif&nbsp; или&nbsp; TXW.01.0141_0142.25605.032_001.tif есть еще такие TXW.01.0141_0142.25605.SP.032_001.tif. Последний файл в поиск не должен попасть вобщем, т.к. это спецификация. Путь к файлу таков: \\192.168.1.200\scan\25605\25605tx\ ...<br />Думаю составить скрипт, который бы записал через админку 1 раз (до будущих внесений изменений) с помошью массива текстовый файл -базу, а клиентская часть при поиске выбирала б нужные файлы и делала автоссылки на них. Выбор пользователь делает с помощью формы с чекбоксами. Важная часть поиска отводится к символам в названии файла на примере это категория - TXW (всего их 27) и/или 01 (номер подразделения, всего их 50) и/или условный номер внутри подразделения (0141_0142, 0140A0000 и т.д.), разделенные точками, остальные части - неважны для поиска..</p><p><strong>А вдруг такая логика построения замудреная будет, что скажите?</strong> ведь придется создавать массив для затребованных элементов типа категории, номера подразделения и условного внутреннего номера, а потом еще массив для 28000 проектов ... псевдоаналог многомерного массива.</p><p>Я отсеял вариант создания автоссылок клиентской стороной из-за постоянного перелопачивания всех папок и увеличением нагрузки на сервер при каждом запросе...</p><p>Есть ли решение или вариации попроще??</p>]]></content>
			<author>
				<name><![CDATA[stir]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26486</uri>
			</author>
			<updated>2010-12-30T05:22:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=43189#p43189</id>
		</entry>
</feed>
