|
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) на сетевые пути не прокатит..
? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |