Копирование файлов

Копирование всех файлов из одного каталога в доугой

Процедура СкопироватьФайлы(Знач КаталогИсточник, Знач КаталогПриемник)
	
	//Проверим и поправим окончания пути каталогов
	Если Прав(КаталогИсточник, 1) <> "\" Тогда
		КаталогИсточник = КаталогИсточник + "\";
	КонецЕсли;	
	Если Прав(КаталогПриемник, 1) <> "\" Тогда
		КаталогПриемник = КаталогПриемник + "\";
	КонецЕсли;	
	
	//Создадим каталог приемник
	СоздатьКаталог(КаталогПриемник);
	
	МассивФайлов = НайтиФайлы(КаталогИсточник, "*.*", Истина);
	
	Для Каждого Файл Из МассивФайлов Цикл
		ПолноеИмяИсточник = Файл.ПолноеИмя;
		ПолноеИмяПриемник = КаталогПриемник + СтрЗаменить(Файл.ПолноеИмя, КаталогИсточник, "");
		
		Если ПустаяСтрока(Файл.Расширение) Тогда
			СоздатьКаталог(ПолноеИмяПриемник);	
		Иначе
			КопироватьФайл(ПолноеИмяИсточник, ПолноеИмяПриемник);
		КонецЕсли;
	КонецЦикла;	
	
КонецПроцедуры
2
Орфографическая ошибка в доугой: доугой

Комментарии

Little Friend
#1, ред. 06 января 2023 15:11

Т.е., если файл без расширения, то вместо его копирования, будет создан одноимённый каталог? А если каталог имеет расширение (да, каталоги тоже могут иметь расширение), то вместо создания каталога, будет выполнено копирование.
Может условие

Если ПустаяСтрока(Файл.Расширение) Тогда

заменить на

Если Файл.ЭтоКаталог() Тогда

?


Little Friend
#2, 06 января 2023 20:21

Процедура СкопироватьФайлы(Знач Источник, Знач Приемник)
	КаталогПриемник = Новый Файл(Приемник);
	Если Не КаталогПриемник.Существует() Тогда
		СоздатьКаталог(КаталогПриемник.ПолноеИмя);
	КонецЕсли;
	
	Файлы = НайтиФайлы(Источник, "*.*", Ложь);
	Для каждого Файл Из Файлы Цикл
		ПолноеИмяПриемника = КаталогПриемник.ПолноеИмя + "\" + Файл.Имя;
		Если Файл.ЭтоКаталог() Тогда
			СкопироватьФайлы(Файл.ПолноеИмя, ПолноеИмяПриемника);
		Иначе
			КопироватьФайл(Файл.ПолноеИмя, ПолноеИмяПриемника);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры


См. также

Копирование файлов

КодировкаФайловПрограммыРезервногоКопированияИБ (БСП)

ОбработатьФайлПослеКопированияФайла (БСП)

ЗаполнитьРеквизитыФайлаИзИсходногоФайла (БСП)

НаименованиеФоновогоРезервногоКопирования (БСП)

ИмяМетодаФоновогоРезервногоКопирования (БСП)

СкопироватьДокумент, Копирование документа

УстановитьНастройкиРезервногоКопирования (БСП)

ПараметрыРезервногоКопирования (БСП)

Модератору