Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

Как скопировать все файлы из каталога   Найти похожие ветки 

 
Helen   (2006-10-19 10:53) [0]

Доброго дня! У меня вопрос: как скопировать все файлы *.dbf из каталога, т.е. один файл я делаю CopyFile(откуда, куда), а как группу. Их нужно сначала выбрать?


 
Elen ©   (2006-10-19 10:55) [1]


> Helen

Можно воспользоваться TFileListBox или FindFirst...FindNext


 
Dmitrij_K   (2006-10-19 10:59) [2]


> файл я делаю CopyFile(откуда, куда), а как группу.

циклом


 
Helen   (2006-10-19 11:02) [3]

TFileListBox использовать нельзя, т.к. приложение консольное.
А циклом, значит использовать FindFirst...FindNext? И как задать параметр у этих функций?


 
Helen   (2006-10-19 11:04) [4]

В хелпе нашла, что можно задавать маску, сейчас попробую. Еще ни разу не пользовала эти функции.


 
Elen ©   (2006-10-19 11:05) [5]


> Helen


var s:TSearchRec;
begin
if FindFirst(<Путь_к_файлам>"*.dbf",faanyfile,s)=0 then
repeat
 ListBox1.Items.Append(s.Name);
//ну и копорование <Путь_к_файлам>+s.name
until FindNext(s)<>0;
FindClose(s);


 
Ketmar ©   (2006-10-19 11:13) [6]

>[3] Helen 19-Oct-2006, 11:02
>приложение консольное.
чем .bat не угодили тогда?


 
Helen   (2006-10-19 11:17) [7]

.bat еще как угодил бы, только нужно составлять отчет сколько каких файлов (с именами файлов) было скопировано, сколько времени заняло, причины неудач и т.д.


 
Ketmar ©   (2006-10-19 11:22) [8]

>[7] Helen 19-Oct-2006, 11:17
ясно. тогда [5].


 
Anatoly Podgoretsky ©   (2006-10-19 18:50) [9]

ShFileOperation


 
Наиль ©   (2006-10-19 19:42) [10]


> .bat еще как угодил бы, только нужно составлять отчет сколько
> каких файлов (с именами файлов) было скопировано, сколько
> времени заняло, причины неудач и т.д.

Попробывал написать .bat умеющий большинство из перечисленого.
В данном случае два Батника и Папка "Backup" находятся там же, где и dbf файлы.
copy_dbf.bat
Time /t > log.txt
for %%file in (*.dbf) do call copy_1Dbf.bat %%file
Time /t >>log.txt


copy_1dbf.bat
echo %1 >>log.txt
copy %1 Backup\*.* >>Log.txt


Time выдаёт время с точностью до минуты, поэтому лучше использовать, в этом месте, свою программу.
Echo выдаёт имя копируемого файла
Copy сообщает о результате копирования каждого файла.

Это не руководство к действию, а лишь проба сил.


 
DevilDevil ©   (2006-10-19 19:59) [11]

> Elen ©   (19.10.06 11:05) [5]

А меня всешда интересовало, что за "." и ".." ? И как от них корректно и быстро "избавиться"  ?


 
Наиль ©   (2006-10-19 20:13) [12]


> А меня всешда интересовало, что за "." и ".." ? И как от
> них корректно и быстро "избавиться"  ?

В [5] такого нет.
Но если будут, то избавить приблизительно так:
if s.Name[1]="." then Continue;
. - текущий каталог
.\*.* (или .\.\.\*.*) - все файлы текущего каталога.
.. - Родительская папка. Не знаю как точнее сформулировать
с:\Windows\.. - то же самое, что c:\


 
Amoeba ©   (2006-10-20 10:54) [13]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
2-1161328654
Автоматчик
2006-10-20 11:17
2006.11.05
Помогите написать проаграмму для стрелки барометра.


2-1161342004
Alex_C
2006-10-20 15:00
2006.11.05
Как отключить реакцию на двойной клик мышью?


15-1160562761
Anatoly Podgoretsky
2006-10-11 14:32
2006.11.05
Top 10


15-1160683005
PHPDeveloper
2006-10-12 23:56
2006.11.05
Yandex


15-1160726370
RWolf
2006-10-13 11:59
2006.11.05
Разный размер приложения при компиляции на разных машинах