Как скопировать папку?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alexxx
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 25.09.2004 (Сб) 12:58

Как скопировать папку?

Сообщение Alexxx » 25.09.2004 (Сб) 13:23

Здравствуйте!
Подскажите, пожалуйста, как программно скопировать папку с ее содержанием с d:\Plug_ins на a:\. Пытаюсь сделать таким образом:

Dim fso As New FileSystemObject, fldr As Folder
fldr.Copy ("d:\Plug_ins a:\")

но что-то не идет. То ли синтаксис не верен, то ли чего-то не понимаю (последнее, по-видимому, вернее).

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Как скопировать папку?

Сообщение tyomitch » 25.09.2004 (Сб) 13:44

Alexxx писал(а):Подскажите, пожалуйста, как программно скопировать папку с ее содержанием с d:\Plug_ins на a:\. Пытаюсь сделать таким образом:

Dim fso As New FileSystemObject, fldr As Folder
fldr.Copy ("d:\Plug_ins a:")

но что-то не идет. То ли синтаксис не верен, то ли чего-то не понимаю (последнее, по-видимому, вернее).

:-)
Код: Выделить всё
Dim fso As New FileSystemObject
fso.CopyFolder "d:\Plug_ins", "a:"
Изображение

Alexxx
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 25.09.2004 (Сб) 12:58

Сообщение Alexxx » 27.09.2004 (Пн) 8:43

Такой прием не проходит. VB ругается. Там вроде первым параметром надо указывать, куда копировать, а вот вторым - какая-то булева переменная, указывающая некий список файлов (которые копируются?). Никак не могу понять... :(

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 27.09.2004 (Пн) 9:22

Проверил, предыдущий пример работает, но если ты хочешь все-же через fldr.Copy:
Код: Выделить всё
Dim fso As New FileSystemObject, fldr As Folder
Set fldr = fso.GetFolder("d:\Plug_ins")
fldr.Copy ("a:")

Alexxx писал(а):Там вроде первым параметром надо указывать, куда копировать, а вот вторым - какая-то булева переменная, указывающая некий список файлов (которые копируются?).

:shock: Интересно, как же ты в булевую переменную список файлов передашь :?:
Второй параметр определяет, заменять ли файлы при совпадении имен. По умолчанию - true!
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 27.09.2004 (Пн) 9:29

Конкретно к твоему коду:
Код: Выделить всё
Dim a As String 'Что копировать
Dim b As String 'Куда копировать

fso.CopyFolder a, b, True

True - заменять файлы (если имеются)
False - не заменять

Alexxx
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 25.09.2004 (Сб) 12:58

Сообщение Alexxx » 27.09.2004 (Пн) 11:09

Спасибо всем огромное!!!
На винчестер с раздела в раздел, с директории в директорию и т.д. - все нормально. Только вот при записи на дискету выскакивает "синий" экран с указанием "Ошибка записи на диск", но после нажатия клавиши - копирование завершается нормально, и файлы на дискете вместе с папкой появляются. Какое объяснение возможно? :(

Dzhon
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 236
Зарегистрирован: 09.12.2003 (Вт) 13:30
Откуда: Россия, Омск

Сообщение Dzhon » 27.09.2004 (Пн) 13:24

Может что-то с дискетой?
Проверил у себя (код указан выше) все работает влегкую?

Alexxx
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 25.09.2004 (Сб) 12:58

Сообщение Alexxx » 27.09.2004 (Пн) 14:20

Да, так и есть - что-то с дискетой.
Благодарю за помощь! :study:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 4

    TopList  
cron