Имя: Пароль:
1C
1С v8
Поиск каталога во всех локальных дисках ПК из 1С 8.2(8.3)
0 zerat
 
20.12.13
23:12
Добрый вечер!
Собственно вопрос в теме, как можно найти определенный каталог по имени не зная где он может лежать?
1 KUBIK
 
20.12.13
23:27
А если есть несколько каталогов с одинаковым именем?
2 zerat
 
20.12.13
23:40
все может быть мне просто нужно найти их, но я не знаю сколько локальных дисков на ПК
3 Torquader
 
20.12.13
23:54
(2) Как бы, дисков с DOS-именами не может быть больше 26.
А если у вас linux, то там дисков нету - там всё из корня растёт.
4 Torquader
 
20.12.13
23:56
В общем, если у вас гарантированно Windows, то проще вляпать вставку на VbScript или использовать Scripting.FileSystemObject с его коллекцией Drives прямо в 1С.
5 zerat
 
20.12.13
23:58
сейчас сделал так...
&НаКлиенте
Процедура ВыполнитьПоиск(Команда)
    МассивРазделов = Новый Массив;
    МассивРазделов.Добавить("A:\");  
    МассивРазделов.Добавить("B:\");
    МассивРазделов.Добавить("C:\");    
    МассивРазделов.Добавить("E:\");    
    МассивРазделов.Добавить("I:\");
    МассивРазделов.Добавить("O:\");    
    МассивРазделов.Добавить("U:\");    
    МассивРазделов.Добавить("Y:\");
    МассивРазделов.Добавить("D:\");    
    МассивРазделов.Добавить("F:\");    
    МассивРазделов.Добавить("G:\");
    МассивРазделов.Добавить("H:\");    
    МассивРазделов.Добавить("J:\");    
    МассивРазделов.Добавить("K:\");
    МассивРазделов.Добавить("L:\");    
    МассивРазделов.Добавить("M:\");
    МассивРазделов.Добавить("N:\");    
    МассивРазделов.Добавить("P:\");    
    МассивРазделов.Добавить("Q:\");
    МассивРазделов.Добавить("R:\");    
    МассивРазделов.Добавить("S:\");
    МассивРазделов.Добавить("T:\");    
    МассивРазделов.Добавить("V:\");    
    МассивРазделов.Добавить("W:\");
    МассивРазделов.Добавить("X:\");    
    МассивРазделов.Добавить("Z:\");
    
    НайденныеФайлы = Новый Массив;
    
    Для Каждого Путь из МассивРазделов Цикл
        Файл = НайтиФайлы(Путь,"*stilwork",Истина);
        Если Файл.Количество()> 0 Тогда
            Для Сч = 0 по Файл.Количество()-1 Цикл
                НайденныеФайлы.Добавить(Файл[сч]);
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;


но вот не хочется случайно взять сетевой диск
6 Torquader
 
21.12.13
00:26
7 zerat
 
21.12.13
23:01
апну