|   |   | 
| 
 | v7: Ошибка при выполнении команды; - создать каталог | ☑ | ||
|---|---|---|---|---|
| 0
    
        Масянька 12.02.16✎ 08:33 | 
        Доброе утро!
 Есть код: Если (ФС.СуществуетФайл(КаталогДляЗаписи) = 0) Тогда ТекстВопроса = "Каталог для записи не обнаружен." + РазделительСтрок + "Создать?"; Если Вопрос(ТекстВопроса, "Да+Нет", 60) <> "Да" Тогда мОшибка = 1; Возврат мОшибка; Иначе ФС.СоздатьКаталог(КаталогДляЗаписи); Возврат мОшибка; КонецЕсли; КонецЕсли; При выполнении выдает ошибку: "Ошибка при выполнении команды;" Каталог пытаюсь создать так: \\Имя компа\Общая папка\Вложенная папка\Вложенная папка\ Общая папка - общий доступ. Что не так-то? Заранее спасибо. | |||
| 1
    
        cw014 12.02.16✎ 08:47 | 
        UNC пути     | |||
| 2
    
        Ёпрст гуру 12.02.16✎ 09:13 | 
        (0) каталога \\Имя компа\Общая папка\Вложенная папка не существует, в котором ты пытаешься создать еще каталог Вложенная папка     | |||
| 3
    
        Масянька 12.02.16✎ 09:15 | 
        (2) Есесьно. 
 Сначала есть только "\\Имя компа\Общая папка\". Там надо сначала папку, потом еще парочку папок. Готового нет? | |||
| 4
    
        Mikeware 12.02.16✎ 09:15 | 
        (3) 7 строк написать лениво?     | |||
| 5
    
        Масянька 12.02.16✎ 09:16 | 
        (4) Как-то не красиво... ИМХО.     | |||
| 6
    
        Ёпрст гуру 12.02.16✎ 09:17 | 
        (3) ну есесьенно тебе на это ошибку выдаёт :)     | |||
| 7
    
        Масянька 12.02.16✎ 09:18 | 
        (6) А я уже догадалась. :)     | |||
| 8
    
        Ёпрст гуру 12.02.16✎ 09:18 | 
        Доб="\\";
 Если Лев(Путь,2)<>Доб Тогда Доб=""; Иначе Путь = Сред(Путь,3); КонецЕсли; СписокКаталогов = глРазложить(Путь,"\"); СоздаваемыйКаталог= Доб+СписокКаталогов.ПолучитьЗначение(1)+"\"; Для к = 2 По СписокКаталогов.РазмерСписка() Цикл Имя = СписокКаталогов.ПолучитьЗначение(к); Если ПустоеЗначение(Имя)=0 Тогда СоздаваемыйКаталог=СоздаваемыйКаталог+ПравильноеИмя(Имя)+"\"; Если ФС.СуществуетФайл(СоздаваемыйКаталог+"*.*")=0 Тогда ФС.СоздатьКаталог(СоздаваемыйКаталог); // Сообщить(СоздаваемыйКаталог); КонецЕсли; КонецЕсли; КонецЦикла; Возврат СоздаваемыйКаталог; | |||
| 10
    
        Масянька 12.02.16✎ 09:19 | 
        (8) А одной строчкой не? :)     | |||
| 11
    
        Масянька 12.02.16✎ 09:20 | 
        +(10) А вообще, конечно, спасибо!     | |||
| 12
    
        Ёпрст гуру 12.02.16✎ 09:21 | 
        (10) можно, но только не штатными методами     | |||
| 13
    
        ДенисЧ 12.02.16✎ 09:21 | 
        командаСистемы("mkdir c:\1\2\3\4\5\");
 у меня сработало. | |||
| 14
    
        Fish гуру 12.02.16✎ 09:21 | 
        (10) Можно. Используй рекурсию.     | |||
| 15
    
        Масянька 12.02.16✎ 09:22 | 
        (13) Во! Мне - нравится. Тебе тоже - спасибо.     | |||
| 16
    
        Ёпрст гуру 12.02.16✎ 09:25 | 
        тогда уж, писать не через команда системы, ну если конечно нравится как окошко мелькаеит     | |||
| 17
    
        Масянька 12.02.16✎ 09:27 | 
        (16) А как?     | |||
| 18
    
        Ёпрст гуру 12.02.16✎ 09:27 | 
        (17) whs+run хотя бы     | |||
| 19
    
        Масянька 12.02.16✎ 09:32 | 
        (18) Еще раз - спасибо.     | |||
| 20
    
        ADirks 12.02.16✎ 09:48 | 
        нашёл тут в скриптах
 Sub MakeDir(Dir) Set fso = CreateObject("Scripting.FileSystemObject") If Left(Dir, 2) = "\\" Then 'UNC Path pos = InStr(3, Dir, "\") 'Server name p = Left(Dir, pos) Dir = Mid(Dir, pos + 1) Else p = "" End If pos = 1 While pos <> 0 pos = InStr(Dir, "\") If pos = 0 Then p = p & Dir Else p = p & Left(Dir, pos) Dir = Mid(Dir, pos + 1) End If If fso.FolderExists(p) = False Then fso.CreateFolder p Wend End Sub не совсем идеологочески верно, но вроде работает | |||
| 21
    
        Злопчинский 12.02.16✎ 14:14 | 
        (13) на сетевые пути не прокатит..
 ? | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |