Работа с файловой системой из 1С


Следующие функции языка 1С позволяют манипулировать файлами:

  • СоздатьКаталог 1С
  • НайтиФайлы 1С
  • КопироватьФайл 1С
  • ПереместитьФайл 1С
  • УдалитьФайлы 1С
  • РазделитьФайл 1С
  • ОбъединитьФайлы 1С.

 

Работа с каталогами — СоздатьКаталог 1С


//создает недостающие каталоги в указанном пути
//если каталога нет – создаст всю вложенную структуру
//если есть D:\Temp, то создаст подкаталоги
СоздатьКаталог("D:\Temp\1\2\3")

 

Поиск файлов — НайтиФайлы 1С


//найти все файлы 1С в каталоге «Sc»
НайденныеФайлы = НайтиФайлы("D:\Sc", "*");

//найти все ТЕКСТОВЫЕ файлы 1С в каталоге, включая вложенные подкаталоги
НайденныеФайлы = НайтиФайлы("D:\Sc", "*.txt", Истина);

//найти все файлы 1С в каталоге, в имени которых встречается слово "копия"
НайденныеФайлы = НайтиФайлы("D:\Sc", "*копия*");

//найти все файлы 1С в каталоге, в имени которых встречается любая цифра в скобочках, например "(1)" или "(100)"
НайденныеФайлы = НайтиФайлы("D:\Sc", "*(*)*");

//найти все файлы 1С в каталоге, в имени которых встречается цифра в скобочках меньше 10, например "(1)" или "(9)"
НайденныеФайлы = НайтиФайлы("D:\Sc", "*(?)*");

Для каждого Файл из НайденныеФайлы Цикл
     Если Файл.ЭтоКаталог() Тогда
          Продолжить;
     КонецЕсли;
     
     ИмяФайла = Файл.ПолноеИмя;
     
     Сообщить(ИмяФайла);
КонецЦикла;

 

Копирование, перемещение и удаление файлов — КопироватьФайл 1С, ПереместитьФайл 1С, УдалитьФайлы 1С


ИмяФайла = "Текстовый файл.txt";
КаталогИсточник = "D:\sc\";
КаталогПриемник = "D:\";

//копирование файла
ФайлИсточник = Новый Файл(КаталогИсточник + ИмяФайла);
Если не ФайлИсточник.Существует() или ФайлИсточник.ЭтоКаталог() Тогда
     ВызватьИсключение "Файл '" + КаталогИсточник + ИмяФайла + "' не существует или является каталогом";
КонецЕсли;

Попытка
     КопироватьФайл(КаталогИсточник + ИмяФайла, КаталогПриемник + ИмяФайла);
Исключение
     ВызватьИсключение "Нет прав на копирование файла";
КонецПопытки;

ФайлПриемник = Новый Файл(КаталогПриемник + ИмяФайла);
Если не ФайлПриемник.Существует() или ФайлПриемник.Размер() <> ФайлИсточник.Размер() Тогда
     ВызватьИсключение "Не удалось корректно скопировать файл";
КонецЕсли;

//перемещение файла
Попытка
     ПереместитьФайл(КаталогИсточник + ИмяФайла, КаталогПриемник + ИмяФайла);
Исключение
     ВызватьИсключение "Нет прав на копирование файла";
КонецПопытки;

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

 

Разделение и слияние файлов — РазделитьФайл 1С, ОбъединитьФайлы 1С


//функция создает каталог с именем файла
//в нем создает разделенные части файла, каждая размером в указанное кол-во мегабайт
//каждую часть сжимает архиватором
//возвращает имя каталога



Только зарегистрированные пользователи VIP группы могут видеть этот контент.



Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (34 голосов, среднее: 2,97 из 5)
Загрузка...

Добавить комментарий