1с ftp проверить существование каталога

Обновлено: 06.07.2024


&НаСервере
Процедура ЧтениеИЗаписьФайлов ()

// Любое сериализуемое значение (массив, структура, таблица значений, строки. ) можно сохранить в файл
НаборСимволов = Новый Массив ;
НаборСимволов . Добавить ( 125 );
НаборСимволов . Добавить ( "А" );
НаборСимволов . Добавить ( "99" );
НаборСимволов . Добавить ( "%" );
ЗначениеВФайл ( "D:\Symbol.txt" , НаборСимволов ); // работает только на &НаСервере

// Восстановление произвольных значений из файла
НаборСимволовИзФайла = ЗначениеИзФайла ( "D:\Symbol.txt" );
Сообщить ( НаборСимволовИзФайла [ 0 ]); // 125
Сообщить ( НаборСимволовИзФайла [ 1 ]); // А
Сообщить ( НаборСимволовИзФайла [ 2 ]); // 99
Сообщить ( НаборСимволовИзФайла [ 3 ]); // %

&НаКлиенте
Процедура ОперацииНадФайлами ( Команда )

// Создание переменных (имя и путь к файлу)
ПутьКФайлу_Test = "D:\Test.txt" ;
ПутьКФайлу_Copy = "D:\Copy.txt" ;

// Создание пустого файла
ТекстФайл = Новый ЗаписьТекста ();
ТекстФайл . Закрыть ();

// Проверка на существование файла
ТекстФайл = Новый Файл ( ПутьКФайлу_Test );
Если ТекстФайл . Существует () Тогда
Сообщить ( ПутьКФайлу_Test + " существует!" );
КонецЕсли;

// Копирование файла. Параметры: Какой файл копируем, Куда файл копируем
КопироватьФайл ( ПутьКФайлу_Test , ПутьКФайлу_Copy ); // Если файл существует, то перезапишет

// Перемещение файла. Параметры: Какой файл копируем, Куда файл копируем
ПереместитьФайл ( ПутьКФайлу_Test , ПутьКФайлу_Copy ); // Если файл существует, то перезапишет

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

// Удаление файла
УдалитьФайлы ( ПутьКФайлу_Test ); // Если файл с параметром только для чтения, то будет ошибка

// Удаление файлов в каталоге по маске
// поиск в каталоге нерекурсивный
УдалитьФайлы ( "D:\" , "*.txt" ); // Если маски нет, то удалятся все файлы и сам каталог

// Получение имя временного файла
ПолучитьИмяВременногоФайла (); // Например, C:\Temp\H_kImX035.tmp
ПолучитьИмяВременногоФайла ( ".txt" ); // Например, C:\Temp\H_kImX035.txt

&НаКлиенте
Процедура ПолучениеИИзменениеАтрибутовФайла ( Команда )

ТекстФайл = Новый Файл ( "D:\Test.txt" );

// Чтение атрибутов
ТекстФайл . ПолучитьВремяИзменения (); // время последнего изменения файла
ТекстФайл . ПолучитьТолькоЧтение (); // проверяем атрибут только чтение
ТекстФайл . ПолучитьНевидимость (); // проверяем атрибут hidden (скрытность, невидимость)
ТекстФайл . Размер (); // размер файла в байтах

// Получение расширение файла из его пути
ТекстФайл . Расширение (); // .txt

// Получение имени файла без расширения
ТекстФайл . ИмяБезРасширения (); // Test

// Получение информации по пути файла - это файл или каталог
Если ТекстФайл . ЭтоКаталог () Тогда
// Это каталог
ИначеЕсли ТекстФайл . ЭтоФайл () Тогда
// Это файл
КонецЕсли;

// Изменение атрибутов
ТекстФайл . УстановитьВремяИзменения ( ТекущаяДата ()); // меняем время последнего изменения файла
ТекстФайл . УстановитьТолькоЧтение (Ложь); // меняем атрибут только чтение
ТекстФайл . УстановитьНевидимость (Ложь); // меняем атрибут невидимости

&НаКлиенте
Процедура ОперацииНадКаталогами ( Команда )

//Создание каталога (он может уже существовать)
СоздатьКаталог ( "D:\Catalog" );

//Создание подкаталогов
СоздатьКаталог ( "D:\Catalog\2020\1" );

// Проверка существования каталога
Каталог = Новый Файл ( "D:\Catalog" );
Если Каталог . Существует () Тогда
Сообщить ( "Каталог по пути D:\Catalog существует!" );
КонецЕсли;

// Удаление каталога (вместе с файлами и подкаталогами)
УдалитьФайлы ( "D:\Catalog" ); // Можно добавить максу

// Получение каталога временных файлов
КаталогВременныхФайлов (); // Например, C:\Windows\Temp

&НаКлиенте
Процедура ОперацииСВременнымХранилищем ( Команда )

// Временное хранилище позволяет передавать данные,
// которые иначе не передать (произвольного типа) между сервером и клиентом

// Сохранение произвольного значения (списка значений) во временном хранилище
СЗ = Новый СписокЗначений ;
СЗ . Добавить ( "Арбуз" );
СЗ . Добавить ( "Дыня" );
СЗ . Добавить ( "Яблоко" );
АдресВХранилище = ПоместитьВоВременноеХранилище ( СЗ );

// Чтение произвольного значения (списка значений) из временного хранилища
СЗИзХранилища = ПолучитьИзВременногоХранилища ( АдресВХранилище );
Если СЗИзХранилища = Неопределено Тогда
Сообщить ( "Значение по этому адресу из хранилища уже удалено!" );
Иначе
Сообщить ( СЗИзХранилища [ 0 ]); // Арбуз
КонецЕсли;

// Перезапись уже сохраненного значения (массив) во временном хранилище
НаборСимволов = Новый Массив ;
НаборСимволов . Добавить ( 125 );
НаборСимволов . Добавить ( "А" );
НаборСимволов . Добавить ( "99" );
НаборСимволов . Добавить ( "%" );

// Время хранения зависит от параметра "АдресВХранилище" функции ПоместитьВоВременноеХранилище
ПоместитьВоВременноеХранилище ( НаборСимволов , АдресВХранилище );

// Если адрес - уникальный идентификатор формы или существующий адрес в хранилище:
// Значение будет удалено после закрытия формы
ПоместитьВоВременноеХранилище ( НаборСимволов , ЭтаФорма . УникальныйИдентификатор );

// Если адрес - уникальный идентификатор, не являющийся уникальным идентификатором формы %
// Значение будет удалено после завершения сеанса пользвоателя
ПоместитьВоВременноеХранилище ( НаборСимволов , Новый УникальныйИдентификатор );

// Если адрес не указан:
// Значение будет удалено после очередного запроса сервера
ПоместитьВоВременноеХранилище ( НаборСимволов );

// Удаление значения из временного хранилища
УдалитьИзВременногоХранилища ( АдресВХранилище );

// Проверка является ли строка адресом во временном хранилище
Если ЭтоАдресВременногоХранилища ( АдресВХранилище ) Тогда
// Это адрес во временном хранилище
КонецЕсли;

&НаКлиенте
Процедура ПередачаФайлаСКлиентаНаСервер ( Команда )

ТекстФайл = Новый ЗаписьТекста ( "D:\Prostokvashino.txt" );
ТекстФайл . ЗаписатьСтроку ( "Кот Матроскин" );
ТекстФайл . ЗаписатьСтроку ( "Дядя Федор" );
ТекстФайл . ЗаписатьСтроку ( "Шарик" );
ТекстФайл . Закрыть ();

Завершено = Новый ОписаниеОповещения ( "ПослеПередачи" , ЭтотОбъект );

// Параметр УникальныйИдентификаторФормы - если не указывать - то файл будет удален после очередного запроса сервера
// если указать - то после удаления объекта формы
// Параметр Интерактивно (Истина) - дает пользователю выбрать файл самому
НачатьПомещениеФайла ( Завершено , , "D:\Prostokvashino.txt" , Ложь, ЭтаФорма . УникальныйИдентификатор );

&НаКлиенте
Процедура ПослеПередачи ( Результат , ХранимыйАдрес , ВыбранноеИмяФайла , ДопПараметры ) Экспорт

Если Результат Тогда
// Сохранение полученного адреса в реквизите формы (строка) - адрес файла в хранилище на сервере
АдресФайлаВХранилище = ХранимыйАдрес ;
Сообщить ( "Файл " + ВыбранноеИмяФайла + " передан на сервер и сохранён во временном хранилище. Адрес: " + ХранимыйАдрес );
Иначе
Сообщить ( "Ошибка передачи файла на сервер!" );
КонецЕсли;

Читайте также: