![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скопировать все файлы из каталога
Helen © (2006-10-19 10:53:00)Доброго дня! У меня вопрос: как скопировать все файлы *.dbf из каталога, т.е. один файл я делаю CopyFile(откуда, куда), а как группу. Их нужно сначала выбрать?
Amoeba (2006-10-20 10:54:00) [1]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=91
Наиль (2006-10-19 20:13:00) [2]
> А меня всешда интересовало, что за "." и ".." ? И как от
> них корректно и быстро "избавиться" ?
В [5] такого нет.
Но если будут, то избавить приблизительно так:
if s.Name[1]='.' then Continue;
. - текущий каталог
.\*.* (или .\.\.\*.*) - все файлы текущего каталога.
.. - Родительская папка. Не знаю как точнее сформулировать
с:\Windows\.. - то же самое, что c:\
DevilDevil (2006-10-19 19:59:00) [3]> Elen © (19.10.06 11:05) [5]
А меня всешда интересовало, что за "." и ".." ? И как от них корректно и быстро "избавиться" ?
Наиль (2006-10-19 19:42:00) [4]
> .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сообщает о результате копирования каждого файла.
Это не руководство к действию, а лишь проба сил.
Anatoly Podgoretsky (2006-10-19 18:50:00) [5]ShFileOperation
Ketmar (2006-10-19 11:22:00) [6]>[7] Helen 19-Oct-2006, 11:17
ясно. тогда [5].
Helen (2006-10-19 11:17:00) [7].bat еще как угодил бы, только нужно составлять отчет сколько каких файлов (с именами файлов) было скопировано, сколько времени заняло, причины неудач и т.д.
Ketmar (2006-10-19 11:13:00) [8]>[3] Helen 19-Oct-2006, 11:02
>приложение консольное.
чем .bat не угодили тогда?
Elen (2006-10-19 11:05:00) [9]
> 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);
Helen (2006-10-19 11:04:00) [10]В хелпе нашла, что можно задавать маску, сейчас попробую. Еще ни разу не пользовала эти функции.
Helen (2006-10-19 11:02:00) [11]TFileListBox использовать нельзя, т.к. приложение консольное.
А циклом, значит использовать FindFirst...FindNext? И как задать параметр у этих функций?
Dmitrij_K (2006-10-19 10:59:00) [12]
> файл я делаю CopyFile(откуда, куда), а как группу.
циклом
Elen (2006-10-19 10:55:00) [13]
> Helen
Можно воспользоваться TFileListBox или FindFirst...FindNext