Что нового

[Файловая система] Возможности функции "DirCopy" (как добавить исключения)

panda_911

Только вверх, только вперед!
Сообщения
52
Репутация
8
Здравствуйте!
Подскажите пожалуйста есть ли у функции DirCopy возможность задавать файлы/папки для исключения при копировании?
Например как в xcopy ключ /exclude и в текстовом файлике задать что не нужно копировать.
Беглый просмотр справки результатов не принес :(
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Нельзя.
 
Автор
P

panda_911

Только вверх, только вперед!
Сообщения
52
Репутация
8
Спасибо.
Очень печально конечно. Очень полезная опция была бы :(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
panda_911,
Можно так попробовать.
Код:
#include <File.au3>

$sDirFrom = @ScriptDir
$sDirTo = 'D:\Archive'
$sExclude = '|Папка 1|Папка 2|Папка 3|Папка 4|' ;и т.д.

$aDir = _FileListToArray($sDirFrom, '*', 2)
If @error Then
	MsgBox(16, 'Error', '_FileListToArray')
	Exit
EndIf
For $i = 1 To $aDir[0]
	If Not StringInStr($sExclude, '|' & $aDir[$i] & '|') Then
		DirCopy($sDirFrom & '\' & $aDir[$i], $sDirTo & '\' & $aDir[$i], 1)
	EndIf
Next
 
Автор
P

panda_911

Только вверх, только вперед!
Сообщения
52
Репутация
8
Интересное решение!
Нужно проверить как оно будет срабатывать со вложеными папками.
(я изначально тоже думал делать вариант с получением списка файлов в папке в массив и последующим их копировании, но не мог придумать как быть с подпапками)


*****************
Работает только на одном уровне :(
Будем думать дальше
 
Автор
P

panda_911

Только вверх, только вперед!
Сообщения
52
Репутация
8
2madmasles
Run(@ComSpec & ' /C xcopy нужные ключи...
Это я могу и простым батником сделать.
Просто хотел написать прожку для выборочных бекапов с графическим интерфейсом средствами AutoIT.

2AZJIO
Ой, ...много инфы. Завтра на работе буду смотреть что там к чему.
За наводку спасибо!
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
panda_911 [?]
Просто хотел написать прожку для выборочных бекапов с графическим интерфейсом средствами AutoIT.
а что мешает составить gui на autoit и на основе состояний контролов и всякой другой инфы формировать нужные ключи для последующей передачи в xcopy?
 
Автор
P

panda_911

Только вверх, только вперед!
Сообщения
52
Репутация
8
2Kaster, ничего не мешает :smile:
(таким же способом реализовал себе програмку для управления терминальным сервером)
Просто честно говоря не думал что тут не окажется подобного функционала :(
Да и тогда уж лучше смотреть в сторону nnbackup и robocopy
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: [Файловая система] Возможности функции \"DirCopy\" (как добавить исключения)

panda_911
большинство функционала в AutoIt реализовано через пользовательские функции. составить такую функцию не составляет абсолютно никакого труда. потом выделить его в отдельный файл, подключить в качестве библиотеки в головной скрипт – вот тебе и функционал. разрабы пытаются включать в натив только самые необходимые вещи. остальное все в udf.


Добавлено:
Сообщение автоматически объединено:

panda_911 [?]
не мог придумать как быть с подпапками
рекурсивная обработка папок.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
panda_911
Ой, ...много инфы.
Запускаешь _FileSearch_Gui_Test в комбо выбираешь функцию папки, ставишь параметры "уровень вложенности", указываешь маску, переключаешь "Исключение", в выходном инпуте получаешь строку функции, которую нужно вставить в свой скрипт. Для теста кидаешь папку в верхний инпут, жмёшь тест, получаешь списко папок... Проще сделать уже не получится.
 
Верх