![]() |
Сетеывая папка работа с фильтрами по расширению с использованием WMI
Добрый день.
Скрипт я написал, корявый но работает, но очень медленный, решил использовать WMI но возникла проблема. Мой скрипт Скрытый текст
PHP код:
Все работает, но если я указываю реальную шару с большим кол-во файлов (естественно все пермишены в порядки) ну к примеру 14000 файлов а удв. маске скажим два, то скрипт работает до 5 минут, что не комильфо. я пишу чуть другой скрипт Скрытый текст
PHP код:
но если он (ну не этот а с использованием WMI ) PHP код:
Шара не должна монтироваться как диск! ищу способ обращение как к сетевой шаребез диска типа \\Server_name\Shara_dir Поможите люди добрые. Спасибо |
Цитата:
|
А вот об этом я догадывался что печально.
Как диск прикрутить шару не могу, скриптов может одновременно работать много причем пути все разные, букв на всех не хватит. Первый скрипт я кое как собрал и не думаю что он нормальный, может есть другое решение дабы победить проблему по скорости? Как и говарил основная проблема в том что файлов очень много а нужных может быть 0.. Как можно получить список только нужных причем быстрее чем в моем первом примере? Спасибо |
andr_mozg, на 14 тысячах сетевых файлов «ляжет» любой скрипт. Тут дело не в скрипте, а в доступе по сети и количестве объектов.
Самый шустрый вариант — LogParser. Например: Код:
"%ProgramFiles%\Log Parser 2.2\LogParser.exe" "SELECT Path USING TO_LOWERCASE(EXTRACT_EXTENSION(Name)) AS Ext FROM '\\localhost\C$\windows\Temp\*.*' WHERE Ext = 'zip' OR Ext = 'xml'" -i:FS -q:ON |
Дело в том что мне надо посмотреть не просто наличие, а еще и свойство этих файлов, в часности определить есть ли файлы дата создание которых больше чем XX минут.
Я проверил через монтирования сетевой шары как диска на своей машине, по моим накаленным тестам первый вариан отстал от второго в 8 раз. что есть очень много. Сеть работает отлично, но вот скорость первого варианта из-за тупого перебора очень страдает. Так я и непойму, есть ли возможность получить список файлов на уровне запросов к шаре и потом просто работать с этим списком получая нужные мне свойства нужных мне файлов?? Спасибо |
Цитата:
Код:
"%ProgramFiles%\Log Parser 2.2\LogParser.exe" "SELECT Path USING TO_LOWERCASE(EXTRACT_EXTENSION(Name)) AS Ext FROM '\\localhost\C$\windows\Temp\*.*' WHERE (Ext = 'zip' OR Ext = 'xml') AND CreationTime <= TO_LOCALTIME(SUB(SYSTEM_TIMESTAMP(), TIMESTAMP('20', 'mm')))" -i:FS -q:ON |
Время: 08:12. |
Время: 08:12.
© OSzone.net 2001-