Имя: Пароль:
1C
1С v8
Перемещение каталога со всем содержимым
0 Baloven
 
06.11.12
03:02
есть фиксированная структура каталогов которая раньше создавалась, сейчас потребовалось ее несколько видоизменить
вот часть процедуры которая пытается привести к новому виду:

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

С файлами понятно все - они прекрасно переносятся, а вот на каталоги ругается и выдает ошибку
1 Baloven
 
06.11.12
03:04
Функция ПроверитьСуществованиеКаталога(СтарыеКаталоги) у меня возвращает истину или ложь ПроверитьСуществованиеКаталога(СтарыеКаталоги)
ИмяКаталога формируется по коду чуть выше - это новое имя каталога
2 Wobland
 
06.11.12
04:31
это ты хвастаешься?
3 Baloven
 
06.11.12
08:05
(2) Это я хочу знать как каталог перенести
4 echo77
 
06.11.12
08:13
каталоги перенести командой "rename"
5 Wobland
 
06.11.12
08:13
(4) на MacOS есть такое?
6 echo77
 
06.11.12
08:18
в MacOS "mv". ОдинЭс работает под макос?
7 Галахад
 
гуру
06.11.12
08:18
(0) Скопируй, а потом удали.
8 Wobland
 
06.11.12
08:19
(6) как веб-клиент - запросто
9 Baloven
 
06.11.12
08:53
(7) а разве каталоги копирует 1с?
10 Baloven
 
06.11.12
09:16
(7) нет не вариант - пишет ошибку доступа к файлу :(
11 Baloven
 
06.11.12
10:00
пока сделал так:

КомандаСистемы("xcopy """ + СтарыеКаталоги + "\*.*"" """ + ИмяКаталога + """  /E /Q /Y");
КомандаСистемы("rd """ + СтарыеКаталоги + "\"" /E /Q /Y");
12 Baloven
 
06.11.12
10:01
сорри
вот так правильно :)

КомандаСистемы("xcopy """ + СтарыеКаталоги + "\*.*"" """ + ИмяКаталога + """  /E /Q /Y");
КомандаСистемы("rd """ + СтарыеКаталоги + "\"" /S /Q");
13 Baloven
 
06.11.12
10:28
... на практике не все так гладко :( иногда выдает ошибку на доступ к каталогу который удаляет хотя реально его нет уже