//Возвращает Истина - скопирован, иначе Ложь Функция СкопироватьФайл(ИмяФайлаИсточник, ИмяФайлаНазначение, ВыдаватьСообщения = Ложь) Экспорт Попытка ПозицияСимвола = СтрДлина(ИмяФайлаНазначение); Пока ПозицияСимвола >= 1 Цикл Если Сред(ИмяФайлаНазначение, ПозицияСимвола, 1) = "\" Тогда Возврат ПозицияСимвола; КонецЕсли; ПозицияСимвола = ПозицияСимвола - 1; КонецЦикла; КаталогФайла=Сред(ИмяФайлаНазначение, 1, ПозицияСимвола - 1); СоздатьКаталог(КаталогФайла); КопироватьФайл(ИмяФайлаИсточник, ИмяФайлаНазначение); Исключение Сообщение = "Ошибка при копировании: " + ОписаниеОшибки() + " (источник: " + ИмяФайлаИсточник + "; приемник: " + ИмяФайлаНазначение + ")"; Если ВыдаватьСообщения Тогда Сообщить(Сообщение); КонецЕсли; Предупреждение(Сообщение); Возврат Ложь; КонецПопытки; Возврат Истина; КонецФункции
// ПутьКФайлу – Строка – путь к файлу. // // Возвращаемое значение: // Строка – каталог файла // Функция ПолучитьКаталогФайла(Знач ПутьКФайлу) Экспорт ПозицияСимвола = СтрДлина(ПутьКФайлу); Пока ПозицияСимвола >= 1 Цикл Если Сред(ПутьКФайлу, ПозицияСимвола, 1) = "\" Тогда Возврат ПозицияСимвола; КонецЕсли; ПозицияСимвола = ПозицияСимвола - 1; КонецЦикла; Если ПозицияСимвола > 1 Тогда Возврат Сред(ПутьКФайлу, 1, ПозицияСимвола - 1); Иначе Возврат ""; КонецЕсли; КонецФункции
// Например необходимо: // в строке "C:\Documents and Settings\E.S.Migachev\Рабочий стол\1С" получить номер последнего символа "\" //Ном= ПолучитьНомерПоследнегоСимвола( "C:\Documents and Settings\E.S.Migachev\Рабочий стол\1С", "\") //в результате Ном=53 Функция ПолучитьНомерПоследнегоСимвола(Знач ИсходнаяСтрока, Знач СимволПоиска) ПозицияСимвола = СтрДлина(ИсходнаяСтрока); Пока ПозицияСимвола >= 1 Цикл Если Сред(ИсходнаяСтрока, ПозицияСимвола, 1) = СимволПоиска Тогда Возврат ПозицияСимвола; КонецЕсли; ПозицияСимвола = ПозицияСимвола - 1; КонецЦикла; Возврат 0; КонецФункции