Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2012, 19:01
Аспирант
Отправить личное сообщение для Майя Посмотреть профиль Найти все сообщения от Майя
 
Регистрация: 24.01.2012
Сообщений: 31

Вызов cmd.exe c параметрами из JavaScript'a
Друзья, здравствуйте! У меня такая заморочка: 1. Есть JavaScript из которого нужно вызвать cmd.exe с параметрами (см. прикрепленный файл и ниже). Я уже все перепробовала, но остановилась на пока не работающем варианте кода =((((((, который хотя бы окно открывает:
var objShell = new ActiveXObject("Shell.Application");
objShell.ShellExecute("cmd.exe", " C:  cd c:\\pr main.bat blablafile.txt auto", "C:\\WINDOWS\\system32", "open", 1);

Ничего лучше придумать не могу. Подскажите, как мне вызвать из javscript’a cmd.exe и заставить его (cmd.exe) выполнить команды
C: - пойти на диск
cd c:\\pr – перейти в директорию
main.bat blablafile.txt auto - запустить процесс main.bat с параметрами blablafile.txt и auto. Мерси.
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2012, 19:12
Аспирант
Отправить личное сообщение для Майя Посмотреть профиль Найти все сообщения от Майя
 
Регистрация: 24.01.2012
Сообщений: 31

Вызвала, предварительно почитав:
IShellDispatch2.ShellExecute( sFile, [ vArguments ], [ vDirectory ], [ vOperation ], [ vShow ])
(sFile, sFile [in] Type: BSTR A String that contains the name of the file on which ShellExecute will perform the action specified by vOperation.
[ vArguments ], vArguments [in, optional] Type: Variant A string that contains parameter values for the operation.
[ vDirectory ], vDirectory [in, optional] Type: Variant The fully qualified path of the directory that contains the file specified by sFile. If this parameter is not specified, the current working directory is used.
[ vOperation ], vOperation [in, optional] Type: Variant The operation to be performed. This value is set to one of the verb strings that is supported by the file. For a discussion of verbs, see the Remarks section. If this parameter is not specified, the default operation is performed.
[ vShow ] vShow [in, optional] Type: Variant )

Теперь бы понять как javascript'у дождаться выполнения внешнего приложения?
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2012, 15:03
Интересующийся
Отправить личное сообщение для Mixxx Посмотреть профиль Найти все сообщения от Mixxx
 
Регистрация: 11.04.2012
Сообщений: 20

Если бат файл простой тоесть там нет диалога с пользователем и надо просто тупо запустить его с параметрами и подождать пока он отработает то подойдет и такой код:

var cmd = new ActiveXObject("WScript.Shell"); //создаем объект шел
myApp = cmd.Exec("C:\\pr\\main.bat blablafile.txt auto"); //запускаим бат файл с параметрами


while (myApp.Status === 0)  //пока наша прога (читай бат файл) работает
{
    WScript.Sleep(100);//пауза что бы не перегружать проц
}

//читаем со стандартного потока вывода, запущеной проги
//все что она написала туда и выводим на экран
WScript.StdOut.Write(myApp.StdOut.ReadAll())
//"перенаправляем" поток ошибок проги на нашь поток ошибок
WScript.StdErr.Write(myApp.StdErr.ReadAll())

WScript.Echo("Приложение завершилось с кодом: "+myApp.ExitCode)
WScript.Sleep(7000); //что бы сразу экран не закрывался

(правда могут возникнуть проблемы с кодировкой хз как пофиксить)

Последний раз редактировалось Mixxx, 19.04.2012 в 15:06.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двойной вызов функции Tmin10 jQuery 8 08.12.2011 15:19
Вызов функции TicTac Общие вопросы Javascript 2 24.01.2011 23:35
Экран с заданными параметрами cyberx Общие вопросы Javascript 0 14.03.2010 21:20
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 13:16