Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Копирование папок и файлов с определенными фильтрами. / 6 сообщений из 6, страница 1 из 1
09.10.2019, 13:27
    #39873959
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование папок и файлов с определенными фильтрами.
Привет. не буду комментировать зачем, но надо, самому смешно, поэтому спрашиваю и прошу помочь.

мне нужно копировать Путь со всем его содержимым вложенными папками и файлами в другую папку или на диск.
желательно чтобы с фильтрами, *.* и самое интересное Дата или Время проихсождения файла, например копировать все папки, а вложенные в них файлы только те которые за последние два часа были созданы.

что нибудь из стандартного готового хочу.

спасибо.
...
Рейтинг: 0 / 0
09.10.2019, 13:32
    #39873963
Vizit0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование папок и файлов с определенными фильтрами.
System.IOUtils - TPath, TFile, TDirectory - все стандартно.

Дальше комбинируешь это все в соответствии со своими хотелками.
...
Рейтинг: 0 / 0
09.10.2019, 14:59
    #39874088
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование папок и файлов с определенными фильтрами.
Код для вывода списка файлов в папке и/или ее подпапках, в т.ч. по фильтру вида *.*:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
function GetFilesList(ADirName: string; AFileMask: string; ASearchSubdirs: Boolean): TStringList;
var
  list: TStringList;
  I: Integer;
  normalDir: string;
  options: TSearchOption;
  filesList: TStringDynArray;
begin
  // получает список файлов в папке и всех подпапках по маске вида *.*
  // автор: jaydi85@gmail.com

  if ADirName = '' then
  begin
    raise Exception.Create('ERROR! ADirName must be non empty.');
  end;

  list := TStringList.Create;
  Result := list;

  // доп проверка, т.к. если папки нет, то TDirectory.GetFiles вызывет исключение
  if not DirectoryExists(ADirName) then
  begin
    Exit;
  end;

  if not EndsText('\', ADirName) then
  begin
    normalDir := ADirName + '\';
  end
  else
  begin
    normalDir := ADirName;
  end;

  // новая версия поиска через IOUtils
  if ASearchSubdirs then
  begin
    options := TSearchOption.soAllDirectories;
  end
  else
  begin
    options := TSearchOption.soTopDirectoryOnly;
  end;

  filesList := TDirectory.GetFiles(normalDir, AFileMask, options);

  for I := 0 to Length(filesList) - 1 do
  begin
    list.Add(filesList[I]);
  end;
end;
...
Рейтинг: 0 / 0
09.10.2019, 15:48
    #39874150
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование папок и файлов с определенными фильтрами.
yemets63,

можно посмотреть (в консоли) команду xcopy и её ключ /D

Есть еще robocopy, вроде более мощная команда, но я ей не пользовался.
...
Рейтинг: 0 / 0
09.10.2019, 15:56
    #39874160
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование папок и файлов с определенными фильтрами.
s62,

в xcopy только дата, времени нет.
...
Рейтинг: 0 / 0
09.10.2019, 18:22
    #39874250
yemets63
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Копирование папок и файлов с определенными фильтрами.
спасибо всем.

просто залача поступила, как бы это сказать и отказать нельзя и время тратить ..., хотел списать, но как всегда пришлось делать.
сделал, копирует, перегоняет при том надо было чуть проще даже чем я даже думал

IOUtils - неплохая штука для быстрого изготовления того что надо
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Копирование папок и файлов с определенными фильтрами. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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