powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Медленно работает "For Each fl In fls "?
15 сообщений из 15, страница 1 из 1
Медленно работает "For Each fl In fls "?
    #36649212
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно все файлы "*.cnc" из директории занести в текстовый файл без расширения.
Количество файлов 3-5 тыс!
У меня такой код, но работает он медленно, может есть что "пошустрее"?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 Set fol = fso.GetFolder("c:\DoorArhiv\")   
    Set fls = fol.Files
    Set tsf = fso.CreateTextFile("C:\DoorArhiv.txt", True)

    For Each fl In fls
       If fl.Name Like "*.cnc" Then
        intPos = InStr(fl.Name, ".")
        tsf.WriteLine (Mid(fl.Name,  1 , intPos -  1 ))
    End If
    Next
    tsf.Close
Set tsf = Nothing
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36649815
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vallot,

Код: plaintext
Shell "cmd /c dir C:\DoorArhiv\*.спс > C:\DoorArhiv\list.txt", vbHide
Потом просто прочитать файл C:\DoorArhiv\list.txt
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36650477
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не копирует, увы!?

Код: plaintext
Shell "cmd /c dir c:\DOOR-HASH\DoorArhiv\*.cnc > C:\REPORT\v\DoorArhiv.txt", vbHide
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36650512
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот так живенько работает! (И главное, я уже задавал такой вопрос и забыл, старею!)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Set fso = CreateObject("Scripting.FileSystemObject")
Set tsf = fso.CreateTextFile("C:\REPORT\v\DoorArhiv.txt", True)
    
    NmFl = Dir("c:\DOOR-HASH\DoorArhiv\" & "*.cnc")
    Do While NmFl <> ""
        intPos = InStr(NmFl, ".")
        tsf.WriteLine (Mid(NmFl,  1 , intPos -  1 ))
        NmFl = Dir
    Loop
    tsf.Close
    Set tsf = Nothing
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36650597
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vallotЧто-то не копирует, увы!?
Это у тебя гранаты не той системы (с) Белое солнце пустыни

Запусти командную строку и выполни там
Код: plaintext
dir c:\DOOR-HASH\DoorArhiv\*.cnc > C:\REPORT\v\DoorArhiv.txt
посмотри что напишет.
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36651809
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносЭто у тебя гранаты не той системы (с) Белое солнце пустыни

Запусти командную строку и выполни там
Код: plaintext
dir c:\DOOR-HASH\DoorArhiv\*.cnc > C:\REPORT\v\DoorArhiv.txt
посмотри что напишет.
Ага. Точно.
Мы все любим писать серьезные вещи на серьезных языках. Шаблоны, C++, Reflection, Perl и многое другое – вот то, что мы любим, то, чему посвящаем длинные сообщения в форумах, то, что снится нам по ночам.
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36652153
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Сейчас копируется, спасибо! То что надо!
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36652590
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так оно же с расширениями копируется?
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36652671
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_,

А что должно копироваться?
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36654190
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_,

Конечно с расширением, но зато мгновенно, а потом уже в текстовом файле можно убрать расширение! Ведь с текстовым файлом работа горазда идет быстрее, чем с тысячами файлов!
Еще раз спасибо Игорю!
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36654710
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vallot,

А для танкистов, можно ещё раз объяснить, что и куда копируется?

А насчет мгновенно, при 20 тысячах файлов приходилось ждать несколько минут пока dir отработает, так что ... :)
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36655172
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Вся имена файлов 3774 File(s) 1,040,545 bytes
вместе с атрибутами из директории скопировалась мгновенно (чеснослова) в текстовый файл,
а я потом убрал все, кроме того, что мне нужно!

До:

Volume in drive F is New Volume
Volume Serial Number is D44D-1A49

Directory of F:\SALVAGNINI\FrameArhiv

08/18/2009 09:50 AM 1,440 39532.cnc
07/30/2009 10:21 AM 384 41381.cnc
10/01/2009 01:06 PM 96 41727.cnc
05/04/2009 03:55 PM 107 42106.cnc
05/07/2009 04:35 PM 103 42141.cnc
06/17/2009 04:18 PM 54 42144.cnc
04/14/2009 10:35 AM 107 42150.cnc
04/16/2009 10:45 AM 146 42151.cnc
...............................................................
---------------------------------------------------
После:

39532
41381
41727
42106
42141
42144
42150
42151
........
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36655214
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vallot,

Понятно :)

посмотри параметры команды dir, там какой-то ключ отвечает за вывод только имен файлов, и вообще там много ключей и все интересны по своему :)

И это не скопировалось, а записалось в новый файл. Можно дописать в существующий поставив вместо ">" - ">>" :)

Насчет быстроты верю, но при увеличении количества файлов будет увеличиваться и время обработки. От этого не уйти :(
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36655542
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбоносvallot,

Можно дописать в существующий поставив вместо ">" - ">>" :)

:(

А вот это для меня чрезвычайно полезная информация, спасибо!
...
Рейтинг: 0 / 0
Медленно работает "For Each fl In fls "?
    #36655662
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vallot,

Игорь Горбоноспосмотри параметры команды dir, там какой-то ключ отвечает за вывод только имен файлов

Ключ /b
Но расширения останутся.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Медленно работает "For Each fl In fls "?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]