Имя: Пароль:
1C
1С v8
Программный запуск файла из общего доступа
,
0 ХочуСпец
 
24.10.12
17:33
Использую:

ЗапуститьПриложение(ПутьКфайлу, ТекущаяПапка, Истина);

ПутьКФайлу: \\Server\share\файл.bat

ТекущаяПапка: \\Server\share

Текущую папку необходимо обязательно указывать (в ней лежит скрипт)

ОШИБКА: «CMD.EXE не поддерживает пути UNC»

Доступ к папке есть

Как обойти?
1 Kreont
 
24.10.12
17:33
net use
2 lxndr
 
24.10.12
17:34
что в файле?
3 ХочуСпец
 
24.10.12
17:41
(1) ну прописал ЗапуститьПриложение("net use " + ПутьКфайлу, ТекущаяПапка, Истина);

не помогло
4 YF
 
24.10.12
17:44
(0) Виндовс скрипт хост тебе в помощь или КомандаСистемы()
5 le_
 
24.10.12
17:45
(3) И не должно было.
6 ХочуСпец
 
24.10.12
17:50
(4) Запускает фоновое задание, команда системы отпадает т.к. выполняется только на клиенте

(5) почему?
7 ХочуСпец
 
24.10.12
17:53
(4) WshShell = Новый COMОбъект("WScript.Shell")??

Как с помощью WshShell указать текщую папку?
8 aleks-id
 
24.10.12
17:57
а что мешает батник на лету собрать, положить в темп и запустить?
9 ХочуСпец
 
24.10.12
17:58
(8) это не решение проблемы в (0)
10 le_
 
24.10.12
18:08
Network = Новый COMОбъект("WScript.Network");
FileSystemObject = Новый COMОбъект("Scripting.FileSystemObject");

Если FileSystemObject.DriveExists("Z:") Тогда
   Network.RemoveNetworkDrive("Z:", true, true);    
   Network.MapNetworkDrive("Z:", "\\Server\Share");
Иначе
   Network.MapNetworkDrive("Z:", "\\Server\Share");
КонецЕсли;

sh = Новый COMОбъект("WScript.Shell");
sh.Exec("cmd /c Z: && cd \ && start Z:\file.bat");
11 le_
 
24.10.12
18:17
+(10) В методе MapNetworkDriveможно указать имя пользователя и пароль если что.
12 Kreont
 
24.10.12
18:48
(3)Хоть на баш бери тебя :)

Запусти cmd
в нем запусти: net use /?
и читай справку