Главная страница
    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.47 MB
Время: 0.059 c
15-1161169778
Михайлов Юрий Александрович
2006-10-18 15:09
2006.11.05
Требуются программисты на Delphi


15-1161004440
Berzercer
2006-10-16 17:14
2006.11.05
Как зайти на форум под своим именем?


15-1160934483
vidiv
2006-10-15 21:48
2006.11.05
Атом Неона (знатокам химии/физики)


15-1160376020
zdm
2006-10-09 10:40
2006.11.05
Фискальный регистратор


2-1161113639
kester
2006-10-17 23:33
2006.11.05
Аля WinHex





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский