|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Копирование файлов |
|
[решено] Копирование файлов
|
Пользователь Сообщения: 73 |
Профиль | Отправить PM | Цитировать Нужно скопировать несколько файлов в один, как в CMD (copy *.* 1.txt). Однако команда FileCopy файлы объединять не хочет. Как проще сделать? Передать строку copy... как аргумент CMD в SHellExecute не получилось...
Спасибо! |
|
Отправлено: 14:05, 03-05-2010 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать AlexM,
А так попробуйте: Или так: #include <File.au3> $sText = "" $aFileList = _FileListToArray(@ScriptDir, "*.txt") If @error = 4 Then MsgBox(0, "Ошибка", "Нет файлов *.txt в папке " & @ScriptDir) Exit EndIf For $i = 1 To UBound($aFileList) - 1 $hFile = FileOpen(@ScriptDir & "\" & $aFileList[$i], 0) $sText &= FileRead($hFile) & @CRLF ;каждый файл будет записан с новой строки. FileClose($hFile) Next $hFileNew = FileOpen(@ScriptDir & "\Test\test.txt", 10) FileWrite($hFileNew, $sText) FileClose($hFileNew) |
Последний раз редактировалось madmasles, 03-05-2010 в 15:18. Отправлено: 14:58, 03-05-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать Спасибо, получилось!
|
Отправлено: 16:57, 03-05-2010 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать AlexM,
Только учтите, что в переменную $sText пишется содержание всех файлов, и пишется в память. Если их объем сопоставим с размером хотя бы 60-80% оперативки, то надо применять другой алгоритм. |
Отправлено: 21:27, 03-05-2010 | #4 |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать madmasles, для такого случая есть несколько вариантов
1. если есть гарантия что каждый файл будет меньше хотя бы 500 мб, то копить не все вместе а записывать каждый файл отдельно. 2. читать побайтово, скажем по мегабайту и записывать |
|
------- Отправлено: 23:38, 03-05-2010 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать kaster,
Абсолютно с Вами согласен. То же и имел в виду. Второе, то есть читать по 1-10 Мб и записывать, ИМХО, самый оптимальный вариант. |
Последний раз редактировалось madmasles, 04-05-2010 в 00:27. Отправлено: 23:43, 03-05-2010 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Беспорядочное копирование файлов | Salamander | Microsoft Windows 7 | 0 | 09-11-2009 11:53 | |
Не работает копирование файлов | DSS | Microsoft Windows NT/2000/2003 | 2 | 07-09-2007 09:55 | |
Копирование файлов с CD | ProkVS | Автоматическая установка Windows 2000/XP/2003 | 18 | 31-03-2007 06:42 | |
Копирование файлов в сети | hameg | Сетевые технологии | 1 | 18-06-2004 11:06 | |
Копирование файлов с сервера | Alexeus | Microsoft Windows NT/2000/2003 | 7 | 19-05-2004 15:31 |
|