Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] При копировании исключить файлы определенного типа

Ответить
Настройки темы
[решено] При копировании исключить файлы определенного типа

Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго дня!
Казалось бы простой вопрос, но не могу найти решение: как исключить файлы определенного типа при копировании (например *.zip) ?

Отправлено: 13:30, 11-06-2014

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


support23,
Вы покажите код, которым Вы копируете файлы.

Отправлено: 16:50, 11-06-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


Копировать планировал через DirCopy, но у функции отсутствуют необходимый мне параметр

Отправлено: 13:56, 12-06-2014 | #3


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


support23,
Получайте содержимое папок в массив (несколько вариантов решения), в цикле копируйте файлы (несколько вариантов решения), проверяя их на расширение. Все зависит от конкретной задачи.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:16, 12-06-2014 | #4


Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


вот что получилось в итоге:

Код: Выделить весь код
#NoTrayIcon
#include <Array.au3>
#Include <FileOperations.au3>

$sPath = "E:\test\source"
if Not FileExists($sPath) then
MsgBox(64, "Ошибка", "Не найден каталог: " & @CRLF & $sPath)
Exit
EndIf

$dPath = "C:\test\destination"
if Not FileExists($dPath) then
DirCreate($dPath)
EndIf

$Level = 5                     ; уровень вложенности каталогов
$Exclude = "*.zip|*.7z"        ; исключить файлы с расширением zip и 7z



$a1FileList = _FO_FileSearch($sPath, $Exclude, False, 0, 1, 1, 0)
For $i=1 To $a1FileList[0]
FileCopy($a1FileList[$i], $dPath)
Next

$aFolderList = _FO_FolderSearch($sPath, "*", True, $Level, 0, 1, 0)
For $i=1 To $aFolderList[0]
DirCreate($dPath & "\" & $aFolderList[$i])

    $a2FileList = _FO_FileSearch($sPath & "\" & $aFolderList[$i], $Exclude, False, 0, 1, 1, 0)
    For $j=1 To $a2FileList[0]
    FileCopy($a2FileList[$j], $dPath & "\" & $aFolderList[$i])
    Next

Next

Exit

Отправлено: 18:47, 14-06-2014 | #5


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


support23,
Если объем копирования большой, то посмотрите еще здесь: Копируем файлы без "тормозов"

Отправлено: 20:22, 14-06-2014 | #6


Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо, большой объем как раз я уже и исключил (исключив архивы zip и 7z), вопрос можно считать закрытым.

Отправлено: 12:32, 15-06-2014 | #7


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


support23,
Еще можно проверять наличие в папке файлов с определенным расширением (если, конечно, в этой папке нет вложенных папок).
Код: Выделить весь код
Local $sDir = @ScriptDir & '\Google_Translator', $sExclude = '*.zip|*.7z', $aExclude, $fExist

$aExclude = StringSplit($sExclude, '|')

;~ ...
$fExist = False
For $i = 1 To $aExclude[0]
    If FileExists($sDir & '\' & $aExclude[$i]) Then
        $fExist = True
        ExitLoop
    EndIf
Next
ConsoleWrite($sExclude & ' -> ' & $fExist & @LF)
If $fExist Then
;~     ... Ваш вариант
Else
;~     DirCopy() или по другому
EndIf

Отправлено: 13:18, 15-06-2014 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] При копировании исключить файлы определенного типа

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - получить список папок, имеющих внутри файлы определенного типа tempik Скриптовые языки администрирования Windows 5 05-03-2013 19:27
CMD/BAT - [решено] Выбор определенного типа файлов при копировании Aleksander.Ruban@fb Скриптовые языки администрирования Windows 4 25-08-2012 10:21
CMD/BAT - [решено] Удаление каталогов не содержащих файлы определенного типа m3nthal Скриптовые языки администрирования Windows 2 15-01-2012 18:26
Как в домене вин 2003 запретить пользователям сохранять файлы определенного типа Russo Microsoft Windows NT/2000/2003 5 12-02-2009 10:25
как изменить права на файлы только определенного типа Guest Microsoft Windows NT/2000/2003 12 23-03-2004 10:09




 
Переход