Копирование папки
|
|
box440 | Дата: Вторник, 09 Сентября 2008, 10:37 | Сообщение # 1 |
Новый участник
Группа: Пользователи
Сообщений: 3
Репутация: 0
Награды: 0
Статус: Offline
| Решил создать простенькую программку для создания резервной копии данных. Это легко решается командой: SysCommand("CopyFile","откуда,куда") Однако когда файлов много, неудобно постоянно их прописывать. Удобнее копировать папкой. А еще лучше зипануть, но моя версия 4.9.5 не работает с масками файлов. Есть ли такие возможности в более поздних версиях или они решаются иначе? Как копировать директорию?
|
|
| |
toizy | Дата: Вторник, 09 Сентября 2008, 11:18 | Сообщение # 2 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Нужно выйти за рамки языка ММВ Системные программы в помощь: Quote C:\Documents and Settings\rrmontag>copy /? Копирование одного или нескольких файлов в другое место. COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B] [+ источник [/A | /B] [+ ...]] [результат [/A | /B]] источник Имена одного или нескольких копируемых файлов. /A Файл является текстовым файлом ASCII. /B Файл является двоичным файлом. /D Указывает на возможность создания зашифрованного файла результат Каталог и/или имя для конечных файлов. /V Проверка правильности копирования файлов. /N Использование, если возможно, коротких имен при копировании файлов, чьи имена не удовлетворяют стандарту 8.3. /Y Подавление запроса подтверждения на перезапись существующего конечного файла. /-Y Обязательный запрос подтверждения на перезапись существующего конечного файла. /Z Копирование сетевых файлов с возобновлением. Ключ /Y можно установить через переменную среды COPYCMD. Ключ /-Y командной строки переопределяет такую установку. По умолчанию требуется подтверждение, если только команда COPY не выполняется в пакетном файле. Чтобы объединить файлы, укажите один конечный и несколько исходных файлов, используя подстановочные знаки или формат "файл1+файл2+файл3+...". Добавлено (09 Сентябрь 2008, 10:53) --------------------------------------------- Т.е. возможностей у простой команды copy куда больше, чем копирование файлов - видишь, даже объединение файлов есть. щас попробую нацарапать сценарий Добавлено (09 Сентябрь 2008, 11:18) --------------------------------------------- Или, может, сгодится этот пример?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
as-master | Дата: Вторник, 09 Сентября 2008, 12:51 | Сообщение # 3 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| box440, на этот вопрос я ТОЛЬКО ЧТО ответил в другой теме: http://mmbuilder.ru/forum/12-791-10173-16-1220950107 Использование модуля выгоднее тем, что не делает проект зависимым от версии винды. А то мало ли что... Я уже разок обломался с системными командами
Да пребудет с вами ММВ!
|
|
| |
box440 | Дата: Вторник, 09 Сентября 2008, 13:33 | Сообщение # 4 |
Новый участник
Группа: Пользователи
Сообщений: 3
Репутация: 0
Награды: 0
Статус: Offline
| Команда COPY не поддерживает длинные имена и кирилицу. Ранее я использовал arj в бат файле: arj.exe a -sw -sw e:\архив.arj имя_файла.txt Однако с теми же недостатками, только короткие имена и регистр фала после помещения в архив меняется с txt на TXT С появлением флешек, возникла необходимость их синхронизаци, в чем хорошо помогает MMB, Однако если работать то с флешек, то с компа возникает необходимость синхронизации нескольких каталогов.
|
|
| |
as-master | Дата: Вторник, 09 Сентября 2008, 13:45 | Сообщение # 5 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Нужно брать все пути в кавычки, тогда вроде должно получиться с системной командой. А модуль поюзать не пробовал? Я этот модуль использовал много раз для всяких целей, хорошая штука, спасибо Рашу
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Вторник, 09 Сентября 2008, 15:18 | Сообщение # 6 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (box440) Команда COPY не поддерживает длинные имена и кирилицу Кто сказал? Заключай путь в кавычки, если содержит пробелы. Если не содержит, то всё равно заключай - не помешает
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
as-master | Дата: Вторник, 09 Сентября 2008, 15:40 | Сообщение # 7 |
Разводящий
Группа: Модераторы
Сообщений: 2337
Репутация: 101
Награды: 5
Статус: Offline
| Quote (toizy) Заключай путь в кавычки, если содержит пробелы Ты хотя бы иногда читай то, что до тебя написали Quote (as-master) Нужно брать все пути в кавычки
Да пребудет с вами ММВ!
|
|
| |
toizy | Дата: Вторник, 09 Сентября 2008, 20:04 | Сообщение # 8 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Не успел обновица...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |