Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Как оганизовать поиск файлов на удаленной машине

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
KPiter



Зарегистрирован: 09.06.2007
Сообщения: 2

СообщениеДобавлено: Сб Июн 09 2007 12:52    Заголовок сообщения: Как оганизовать поиск файлов на удаленной машине Ответить с цитатой

Hi!
Подскажите как БЫСТРО отыскать файл на удаленной машине. При работе локально на удаленном компьютере поиск файлов занимает меньше секунды, при работе удаленно - десятки секунд. Можно ли поиск сделать средствами уделенного компьютера и только результаты поиска передавать по сети?
Спасиб
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Сб Июн 09 2007 19:50    Заголовок сообщения: Ответить с цитатой

запустить консоль управления, подключившись к удалённой машине, и запустить поиск на ней, результаты поиска будут отражаться в консоли на вашей машине
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KPiter



Зарегистрирован: 09.06.2007
Сообщения: 2

СообщениеДобавлено: Вт Июл 03 2007 10:09    Заголовок сообщения: Ответить с цитатой

Дело в том, что на одной машине (удаленной) храниться много фотографий (файлов). На локальной машине должна быть программа, которая ищет файлы на уделенной машине, копирует их на свой винчестер и открывает папку с результатами поиска. Так вот пока файлов на удаленной машине не много все работает быстро. Как количество файлов переваливает за 3000-4000. Поиск фалов на удаленной машине занимает на много больше времени, хотя таже программа поиска работающая на удаленной машине работает очень быстро.
Код:

   private static void recurse(string path, string copy_path, long count, string[] names)
        {
            // Create a reference to the current directory.
            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path);
            // Create an array representing the files in the current directory.

            System.IO.FileInfo[] fi;
            for (int i = 1; i <= count; i++)
            {
                fi = di.GetFiles(names[i] + "?.jpg");
                if (fi.Length > 0)
                {
                    foreach (System.IO.FileInfo fiTemp in fi)
                    {
                        if (!System.IO.File.Exists(copy_path + @"\" + fiTemp.Name))
                            System.IO.File.Copy(path + @"\" + fiTemp.Name, copy_path + @"\" + fiTemp.Name);
                    }
                }
            }

                System.IO.DirectoryInfo[] dis = di.GetDirectories();
                foreach (System.IO.DirectoryInfo diTemp in dis)
                {
                    recurse(path + @"\" + diTemp.Name, copy_path, count, names);
                }
        }

path - путь где искать (может быть задан локально или как имя сетевого диска), copy_path - куда копировать (всегда имя диска машины на которой программа запущенна).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Вт Июл 03 2007 15:16    Заголовок сообщения: Ответить с цитатой

KPiter писал(а):
Так вот пока файлов на удаленной машине не много все работает быстро. Как количество файлов переваливает за 3000-4000. Поиск фалов на удаленной машине занимает на много больше времени, хотя таже программа поиска работающая на удаленной машине работает очень быстро.

Ничего удивительного, вся информация о 4 тыс файлах (размер, имя, атрибуты...) передаётся по сети твоей программе и она их анализирует

есть только два варианта ускорения:
- запускать твою программу на удалённом компьютере(где локально она будет быстро искать) , а на свой передавать только результаты поиска
- запускайте программу в несколько потоков... но тут надо как-то разбивать диапазоны поиска
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
vir



Зарегистрирован: 17.05.2007
Сообщения: 24

СообщениеДобавлено: Ср Июл 04 2007 16:21    Заголовок сообщения: Ответить с цитатой

Надо искать на машине с файлами, "сервере" (машине с path).
Результаты поиска можно записать в файл (пусть даже на машине с copy_path, "клиенте")
После этого можно запустить копирование на клиенте, он будет брать список файлов и делать copy.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

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


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...