Программно скопировать файлы из одной папки в другую 1С 8.2/8.3
Данные > Статьи и инструкции > Программирование
Реклама:

Иногда при разработке конфигурации возникают не стандартные ситуации. Например: реализация автоматического перемещения файлов/папок или перемещение файлов по локальной сети. Возникает вопрос - как перенести с помощью программного кода 1С 8 все файлы из одной папки в другую?
На самом деле задача очень простая и реализуется одной процедурой в модуле объекта метаданных (Например - обработки). Ниже представлен полноценный рабочий код:
Процедура КопироватьВсефайлыИзОдногоКаталогаВДругой(ОткудаКопируем, КудаКопируем)
КаталогКудаКопируем = Новый Файл(КудаКопируем);
Если КаталогКудаКопируем.Существует() Тогда
Если КаталогКудаКопируем.ЭтоФайл() Тогда
УдалитьФайлы(КаталогКудаКопируем.ПолноеИмя);
СоздатьКаталог(КудаКопируем);
КонецЕсли;
Иначе
СоздатьКаталог(КудаКопируем);
КонецЕсли;
КонецПроцедуры
Процедура КопироватьСодержимоеКаталога(ОткудаКопируем, КудаКопируем)
Файлы = НайтиФайлы(ОткудаКопируем, "*.*");
Для Каждого Файл Из Файлы Цикл
Если Файл.ЭтоКаталог() Тогда
КопироватьСодержимоеКаталога(Файл.ПолноеИмя, КудаКопируем+"\"+Файл.Имя);
Иначе
КопироватьФайл(Файл.ПолноеИмя, КудаКопируем+"\"+Файл.Имя);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
КаталогКудаКопируем = Новый Файл(КудаКопируем);
Если КаталогКудаКопируем.Существует() Тогда
Если КаталогКудаКопируем.ЭтоФайл() Тогда
УдалитьФайлы(КаталогКудаКопируем.ПолноеИмя);
СоздатьКаталог(КудаКопируем);
КонецЕсли;
Иначе
СоздатьКаталог(КудаКопируем);
КонецЕсли;
КонецПроцедуры
Процедура КопироватьСодержимоеКаталога(ОткудаКопируем, КудаКопируем)
Файлы = НайтиФайлы(ОткудаКопируем, "*.*");
Для Каждого Файл Из Файлы Цикл
Если Файл.ЭтоКаталог() Тогда
КопироватьСодержимоеКаталога(Файл.ПолноеИмя, КудаКопируем+"\"+Файл.Имя);
Иначе
КопироватьФайл(Файл.ПолноеИмя, КудаКопируем+"\"+Файл.Имя);
КонецЕсли;
КонецЦикла;
КонецПроцедуры

2
комментарии
йцу
07 ноя 2019
между КонецЕсли и Файлы = НайтиФайлы(ОткудаКопируем, "*.*"); не хватает:
КонецПроцедуры
Процедура КопироватьСодержимоеКаталога(ОткудаКопируем, КудаКопируем)
КонецПроцедуры
Процедура КопироватьСодержимоеКаталога(ОткудаКопируем, КудаКопируем)
Программно скопировать файлы из одной папки в другую 1С 8.2/8.3
05 фев 2019
26.11.2016
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник