Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как перенести по простому папку?

v7: Как перенести по простому папку?
Я
   РусскийВедун
 
05.12.18 - 14:46
Есть функция ПереименоватьФайл, которая переносит файл, но как перенести папку? Такой функции не нашел. Мало того, как узнать какие папки есть внутри этой папки, чтобы создать в новом месте такую же иерархию папок, а в исходном месте - тогда удалятькаталог (благо такая функция есть).
 
 
   Карст
 
1 - 05.12.18 - 14:49
   Kigo_Kigo
 
2 - 05.12.18 - 14:53
ПереименоватьФайл -> которая переносит файл
Однако
   РусскийВедун
 
3 - 05.12.18 - 15:33
В-общем все скопировал, а удалить никак каталог не получается.  Пишет ошибка.
Функция ЭтоКаталог(ИмяФайла) 
     Перем Размер, Атрибуты, Создан, Доступ, Запись, РасшИмяФайла; 
     Рез = 0; 
     ФС.АтрибутыФайла(ИмяФайла, Размер, Атрибуты, Создан, Доступ, Запись, РасшИмяФайла); 
     Если Сред(Атрибуты,4,1) = "1" Тогда 
          Рез = 1; 
     КонецЕсли; 
     Возврат Рез; 
КонецФункции         

процедура КопироватьФайлы(ПутьОткуда,ПутьКуда)       
    ФС_ = СоздатьОбъект("ФС");
    Если (ФС_.СуществуетФайл(путькуда) = 0)  Тогда 
        ФС_.СоздатьКаталог(ПутьКуда); 
    КонецЕсли; 
    ИмяФайла = ФС_.НайтиПервыйФайл(ПутьОткуда+"\*.*"); 
    Пока ПустаяСтрока(ИмяФайла) = 0 Цикл 
        Если (ИмяФайла <> ".") И (ИмяФайла <> "..") Тогда 
            Если ЭтоКаталог(ПутьОткуда+"\"+ИмяФайла) = 1 Тогда 
                ПодКаталогОткуда = ПутьОткуда + "\"+ИмяФайла; 
                ПодКаталогКуда = ПутьКуда + "\"+ИмяФайла; 
                // Проверим наличие подкаталога в папке ПутьКуда

                // - если его нет, создадим 

                Если (ФС_.СуществуетФайл(ПодКаталогКуда) = 0) ИЛИ
                (ЭтоКаталог(ПодКаталогКуда) = 0) Тогда 
                    ФС_.СоздатьКаталог(ПодКаталогКуда); 
                КонецЕсли; 
                КопироватьФайлы(ПодКаталогОткуда,ПодКаталогКуда); 
            Иначе
                Поз = Найти(ИмяФайла,"."); 
                //Расш = Нрег(?(Поз>0,Сред(ИмяФайла,Поз+1),"")); 

                //Если Расш <> Нрег(Расширение) Тогда 

                //    ИмяФайла = ФС_.НайтиСледующийФайл(); 

                //    Продолжить; 

                //КонецЕсли;

                ИмяФайлаИсточника = ПутьОткуда + "\" + ИмяФайла; 
                ИмяФайлаПриемника = ПутьКуда + "\" + ИмяФайла; 
                ФС_.КопироватьФайл(ИмяФайлаИсточника,ИмяФайлаПриемника,0);// Копируем с перзаписью 

            КонецЕсли;
        КонецЕсли; 
        ИмяФайла = ФС_.НайтиСледующийФайл(); 
    КонецЦикла;                              

конецпроцедуры

а сам вызов 
ПутьОткуда=сокрлп(константа.путь)+"\"; 
                    ПутьКуда=сокрлп(константа.путь2)+"\";  
                    попытка
                        копироватьфайлы(ПутьОткуда,ПутьКуда);    
                    исключение      
                        сообщить(описаниеошибки());
                    конецпопытки;
                    ФС0 = СоздатьОбъект("ФС");  
                    попытка
                        ФС0.удалитькаталог(ПутьОткуда);    
                    исключение   
                        сообщить(описаниеошибки());
                    конецпопытки;
В каталоге который хочу удалить никого нету. Почему не удаляет?  Пишет Ошибка при выполнении команды; и все
   Масянька
 
4 - 05.12.18 - 15:38
(3) Потому что каталог занят эской.
Прикол семерки. А может и в восьмерке такое есть.
   РусскийВедун
 
5 - 05.12.18 - 15:38
(4) проводник без проблем удаляет
   Масянька
 
6 - 05.12.18 - 15:39
(5) Открой этот каталог в эске. Закрой. А потом попробуй удалить проводником (эску не закрывать!).
   РусскийВедун
 
7 - 05.12.18 - 15:46
(6) Удаляет. Или как именно сделать открыть закрыть?
   Масянька
 
8 - 05.12.18 - 15:51
(7) Слегка попутала.
Если в каталоге открыть файл, закрыть. То потом пока эску не закроешь каталог не удалится.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует