Skip to content

Commit

Permalink
Merge branch 'release/v0.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Dec 6, 2016
2 parents 40a77b8 + 6d97f38 commit bcb3ca3
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 6 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Часто применяемые операции для работы с файловой системой

[![GitHub release](https://img.shields.io/github/release/oscript-library/files-common.svg)](https://github.com/oscript-library/files-common/releases)

Данная библиотека содержит методы работы с файловой системой, наиболее часто применяемые при написании скриптов.
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

Описание.Имя("fs")
.Версия("0.2")
.Версия("0.3")
.ВключитьФайл("Модули")
.ВключитьФайл("LICENSE")
.ВключитьФайл("README.md");
42 changes: 37 additions & 5 deletions Модули/ФС.os
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,45 @@
//
Процедура ОбеспечитьПустойКаталог(Знач Путь) Экспорт

ОбеспечитьКаталог(Путь);
УдалитьФайлы(Путь, ПолучитьМаскуВсеФайлы());

КонецПроцедуры // ОбеспечитьПустойКаталог()

// Гарантирует наличие каталога с указанным именем
//
// Параметры:
// Путь - Строка - Путь к каталогу
//
Процедура ОбеспечитьКаталог(Знач Путь) Экспорт

Объект = Новый Файл(Путь);
Если Не Объект.Существует() Тогда
СоздатьКаталог(Путь);
ИначеЕсли Объект.ЭтоКаталог() Тогда
УдалитьФайлы(Путь, ПолучитьМаскуВсеФайлы());
Иначе
ВызватьИсключение "Не удается создать каталог " + Путь;
ИначеЕсли НЕ Объект.ЭтоКаталог() Тогда
ВызватьИсключение "Не удается создать каталог " + Путь + ". По данному пути уже существует файл.";
КонецЕсли;

КонецПроцедуры // ОбеспечитьПустойКаталог()
КонецПроцедуры // ОбеспечитьКаталог()

// Копирует все файлы из одного каталога в другой
//
// Параметры:
// Откуда - Строка - Путь к исходному каталогу
// Куда - Строка - Путь к каталогу-назначению
//
Процедура КопироватьСодержимоеКаталога(Знач Откуда, Знач Куда) Экспорт

ОбеспечитьКаталог(Куда);

Файлы = НайтиФайлы(Откуда, ПолучитьМаскуВсеФайлы());
Для Каждого Файл Из Файлы Цикл
ПутьКопирования = ОбъединитьПути(Куда, Файл.Имя);
Если Файл.ЭтоКаталог() Тогда
КопироватьСодержимоеКаталога(Файл.ПолноеИмя, ПутьКопирования);
Иначе
КопироватьФайл(Файл.ПолноеИмя, ПутьКопирования);
КонецЕсли;
КонецЦикла;

КонецПроцедуры

0 comments on commit bcb3ca3

Please sign in to comment.