|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Нужно перебрать все папки в текущем каталоге не заходя в подкаталоги. Делаю так: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 14:06 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
в справке написано, что это невозможно Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 14:22 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Не совсем так. На данный момент удалось выяснить, что это Код: plaintext 1. 2. 3. 4. 5. 6.
Работает. Но папки, начинающиеся с цифры она не видит. Впрочем, и так годится, но хотелось бы узнать почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 14:34 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
пишут, что "Рекуррентное применение Dir (в последующих вызовах уже без аргументов) используется только для перечисления файлов" это из книги по VB 6.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 14:48 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
вероятно у них атрибут не только "vbDirectory" I Have Nine Lives You Have One Only THINK! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 14:52 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Но это же работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Ошибка мной обнаружена: строку Tmp = Dir() нужно было поместить после запоминания первого элемента. Иначе первый путь (созданный строкой Tmp = Dir("D:\", vbDirectory)) просто не запоминался. Попутно встал еще один вопрос: Как вместо пути Dir("d:\", vbDirectory) подставить текущий путь? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 15:02 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
klen_ "Рекуррентное применение Dir (в последующих вызовах уже без аргументов) используется только для перечисления файлов" это из книги по VB 6.0 Как хорошо что я не читал таких книжек... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 15:09 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Dimon111 Попутно встал еще один вопрос: Как вместо пути Dir("d:\", vbDirectory) подставить текущий путь? F1 и смотреть: App.Path CurDir ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 15:10 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
klen_в справке написано, что это невозможно Код: plaintext 1.
Для перебора файлов/папок не заходя в подкаталоги даром не нужен рекурсивный вызов чего либо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 15:11 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Как обойтись без рекурсии? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 15:22 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
а книга называется Карoль "Справочник с примерами" Visual Basic 6.0 страница 81 далее автор книги пишет, что "Однако перечислить, например субкаталоги данного каталога с помощью такого кода, как Код: plaintext 1. 2. 3. 4. 5.
виноват, неверно понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 15:35 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
авторнельзя. Вызовы Dir без аргументов будут возвращать подряд и файлы и каталоги. Но можно проверить атрибут с помощью GetAttr и узнать что это: файл или каталог I Have Nine Lives You Have One Only THINK! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2008, 16:50 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Как все - таки релизовать Dir из текущего катклога, чтобы не указывать конкретного пути? App.Path, CurDir выдает лишь текущий рабочий каталог (папку в которой назодится программа): Dir(App.Path, vbDirectory). Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2008, 10:35 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Недостаток/преимущество CurDir(), App.Path в том, что они возвращаю значения в формате "x:\<>foldername". Это есть адрес и имя конкретной папки, а не ссылка на ее "внутренности". :-) Добавь к этому в вызове функции Dir символ "\" - и он уже работает внутри папки. :-) Dir(CurDir()+"\") ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2008, 16:44 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Чего-то не понял. Зачем вам рекурсии-то, раз в подкаталоги не заходите? Вот у вас: " Нужно перебрать все папки в текущем каталоге не заходя в подкаталоги ..." ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2008, 16:58 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2008, 17:12 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Ну и на API Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 13:13 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
AndreyMpНу и на API По скорости это, кстати, не отличается от Dir или FileSystemObject... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 17:27 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Тут уместно вспомнить, что FileSystemObject и есть собрание всех этих API, удобное для потребления и позволяющее не мучиться с длинным и нетривильным для быстрого восприятия кодом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 18:05 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Несколько упрощу свой пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Не считая описания переменных, всего четыре строчки, включая Debug. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 19:11 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
> Автор: VladConn > Несколько упрощу свой пример: > > > Dim objFSO As New FileSystemObject > 'Dim objFolder As Folder Нет, ну если упрощать, так упрощать ;) Эта строка не нужна, т.к нет проверки на валидность возвращаемого значения > 'Set objFolder = objFSO.GetFolder("C:\") > И поэтому вызов можно подставить сразу в цикл > For Each objFolder In objFSO.GetFolder("C:\").SubFolders > Debug.Print objFolder.Name > Next objFolder > Не считая описания переменных, всего четыре строчки, включая Debug. Получилось четыре считая объявление переменной. :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 19:33 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Угу! Тем более! :0) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2008, 19:56 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
авторAndreyMp Ну и на API По скорости это, кстати, не отличается от Dir или FileSystemObject... Ну это я так. Можно считать, для коллекции. Конечно проще пользоваться FSO. Сам ей часто пользуюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2008, 10:29 |
|
Как перебрать все папки в текущем каталоге командой Dir
|
|||
---|---|---|---|
#18+
Им :0) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2008, 16:45 |
|
|
start [/forum/topic.php?fid=60&startmsg=35126964&tid=2157410]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 274ms |
total: | 422ms |
0 / 0 |