Как вариант функция для работы с файлами из модуля ShellApi
Код:
uses
ShellApi;
var
ipFileOp: TSHFileOpStruct; // перед тем как испоьзовать необходимо заполнить данную структуру
begin
FillChar(ipFileOp, SizeOf(ipFileOp), 0); // удаляем ненужные данные
ipFileOp.Wnd := Handle; // окно к которому пренадлежит процесс
ipFileOp.wFunc := FO_MOVE; // операция (можно копировать, удалять, переименовавать...)
ipFileOp.pFrom := 'C:\1.txt'; // имя фала
ipFileOp.pTo := 'D:\2.txt'; // новое имя фала
ipFileOp.fFlags := FOF_NOCONFIRMMKDIR; // флаги (точно не помню,вроде этот)
ipFileOp.fAnyOperationsAborted := Flase; // прекращение операции
ipFileOp.hNameMappings := nil; // карта
ipFileOp.lpszProgressTitle := ''; // заголовок
SHFileOperation(ipFileOp); // сама функция