Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как скопировать целый каталог / 11 сообщений из 11, страница 1 из 1
02.03.2005, 15:54
    #32941632
Jimy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
Можно ли Фоксом скопировать каталог?
...
Рейтинг: 0 / 0
02.03.2005, 16:00
    #32941652
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
Берешь GetDir() - указать нужный каталог, потом ADIR() - пишешь имена всех файлов в этом каталоге в массив. Дальше в нужном месте создаешь каталог при помощи MD и пишешь в него файлы в цикле при помощи COPY от 1 и до кол-ва элементов массиве, полученном в ADIR().
...
Рейтинг: 0 / 0
02.03.2005, 16:38
    #32941813
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
...
Рейтинг: 0 / 0
02.03.2005, 23:10
    #32942514
bobit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
ВладимирМПосмотри здесь
Посмотреть не удалось. "Эта страница сейчас недоступна." пишет.
Не важно.
Важно другое. Помимо ADir и GetDir имеют место быть низкоуровневые функции. Ну там fopen, fcreate, fclose и проч.
Составляем текст командного файла. Записываем этот текст в созданный Фоксом файл. Исполняем ran-ом созданный файл.
Глупо? Глупо, согласен. Но ведь вариант же!
...
Рейтинг: 0 / 0
03.03.2005, 06:14
    #32942634
Как скопировать целый каталог
используя Win32Api - SHFileOperation
...
Рейтинг: 0 / 0
03.03.2005, 10:03
    #32942879
Ilhom_uz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
lo-pataБерешь GetDir() - указать нужный каталог, потом ADIR() - пишешь имена всех файлов в этом каталоге в массив. Дальше в нужном месте создаешь каталог при помощи MD и пишешь в него файлы в цикле при помощи COPY от 1 и до кол-ва элементов массиве, полученном в ADIR().

А подкаталоги? Че с ним будет?
...
Рейтинг: 0 / 0
03.03.2005, 10:52
    #32943039
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
Код: plaintext
1.
x=CREATEOBJECT('Scripting.FileSystemObject')
x.CopyFolder(<source>,<destination>,[lOverWriteFiles])
...
Рейтинг: 0 / 0
03.03.2005, 10:53
    #32943044
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
bobit ВладимирМПосмотри здесь
Посмотреть не удалось. "Эта страница сейчас недоступна." пишет.
Видимо этот сервер выключился на ночь или твой провайдер не дает к нему доступ. Вот пример кода с этой страницы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
lcFolder2Copy="C:\A FSO Testing\"
lcWhere2Copy="C:\A_test4"
llOverWrite = .T.
loFSO = CREATEOBJECT('Scripting.FileSystemObject')
If loFSO.FolderExists(lcFolder2Copy)
   loFolder=loFSO.GetFolder(lcFolder2Copy)
   loFolder.Copy(lcWhere2Copy,llOverWrite)
Endif
Release loFSO

Здесь используется специальный объект Scripting.FileSystemObject . Приведенный пример копирует всю директорию со всеми подкаталогами из папки "C:\A FSO Testing\" в папку "C:\A_test4".

Вообще, для манипуляции файлами и директориями объект Scripting.FileSystemObject очень удобен. Описание его есть в MSDN. Как видите, он легко подключается из FoxPro.

PS: Этот код может не сработать для версии Win95, поскольку в "штатной" поставке такого объекта тогда просто не было. Однако он "штатно" входит в поставку, начиная с Win98.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
19.05.2008, 14:53
    #35320881
pitermax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
А может кто-то скажет как програмно получить информацию создавлись- ли либо замещались
файлы в каталоге и подкаталогах?
Заранее спасибо.
...
Рейтинг: 0 / 0
19.05.2008, 16:38
    #35321320
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
Не надо подымать старые ветки. У тебя совсем другой вопрос - заводи новую.

pitermaxА может кто-то скажет как програмно получить информацию создавлись- ли либо замещались
файлы в каталоге и подкаталогах?
Заранее спасибо.
ADIR() дает дату последнего изменения, запоминаешь дату последнего просмотра, если есть файлы с более поздней датой - значит менялся или создан заново.

Если скопировали файл в каталог, то дата старая останется. Такие есть?

Можно еще флаг файла "Archive" использовать. При каждом изменении виндовс этот флаг сам устанавливает. Соответственно тебе его сбрасывать надо.

Если хочешь чтобы виндовс сразу оповещал твою прогу при изменениях в папке копай в сторону WinAPI функции FindFirstChangeNotification()
...
Рейтинг: 0 / 0
19.05.2008, 17:27
    #35321517
pitermax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать целый каталог
Спасибо
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как скопировать целый каталог / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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