Страница: 1 |
Страница: 1 |
Вопрос: Запуск внешнего приложения
Добавлено: 12.04.07 13:59
Автор вопроса: Asker
Как корректно написать скритп на Windows Script для запуска внешнегоприложения?
В свое время запускал скрипт MyScript.vbs c содержанием:
dim os
...
set os=WScript.CreateObject("WScript.Shell")
os.run C:\Path\Program.exe,[],true
set os=nothing
Но сейчас данный скрипт приложение на запускает!
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Asker
Вопросов: 1
Ответов: 4
Профиль | | #1
Добавлено: 12.04.07 14:05
P.S
Извиняюсь за неточность, кавычки в моем скрипте имеются:
set os=WScript.CreateObject("WScript.Shell"
os.run "C:\Path\Program.exe",[],true
set os=nothing
Номер ответа: 2
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #2
Добавлено: 12.04.07 14:22
' Test program for Run and RunCmd functions.
' Author: Christian d'Heureuse (www.source-code.biz)
Option Explicit
Main
Sub Main
Run "attrib"
RunCmd "dir c:\*.sys"
End Sub
' Runs an external program and pipes it's output to
' the StdOut and StdErr streams of the current script.
' Returns the exit code of the external program.
Function Run (ByVal cmd)
Dim sh: Set sh = CreateObject("WScript.Shell"
Dim wsx: Set wsx = Sh.Exec(cmd)
If wsx.ProcessID = 0 And wsx.Status = 1 Then
' (The Win98 version of VBScript does not detect WshShell.Exec errors)
Err.Raise vbObjectError,,"WshShell.Exec failed."
End If
Do
Dim Status: Status = wsx.Status
WScript.StdOut.Write wsx.StdOut.ReadAll()
WScript.StdErr.Write wsx.StdErr.ReadAll()
If Status <> 0 Then Exit Do
WScript.Sleep 10
Loop
Run = wsx.ExitCode
End Function
' Runs an internal command interpreter command.
Function RunCmd (ByVal cmd)
RunCmd = Run("%ComSpec% /c " & cmd)
End Function
Понятия не имею работает или нет. Проверить негде
Номер ответа: 3
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #3
Добавлено: 12.04.07 14:36
Мощнейшее средство автоматизации работы с Windows - WSH. Как в автоматическом режиме подключить сетевой диск, поковыряться в реестре, создать ярлык, запустить программу, выключить компьютер? Это и многое другое может WSH
хелп в формате chm
http://www.albusfalco.narod.ru/chm/articles.chm
Номер ответа: 4
Автор ответа:
Asker
Вопросов: 1
Ответов: 4
Профиль | | #4
Добавлено: 12.04.07 15:12
2 User Unknown
Ну, проверить очень просто: создаешь файл с расширением *.vbs , пишешь в него содержание скрипта(можнь в блокноте), и кликаешь на нем мышкой два раза...
Не-а, не работает...
2 Arseny
Я мордой в справку ткнуть любой способен, а вот рабочий скрипт дать...
В справке приложение запускается теми же двумя строчками:
var WSHShell = WScript.CreateObject("WScript.Shell"
WSHShell.Run("C:\Path\program.exe",5);
Хотя на это точно Windows Script ругается: он не воспринимает точек с запятой после команды, а также второго параметра в виде цифры 5(почему 5?)
Номер ответа: 5
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #5
Добавлено: 12.04.07 15:16
Да это-то я прекрасно понимаю. Только у меня нет виндовса...
Номер ответа: 6
Автор ответа:
Asker
Вопросов: 1
Ответов: 4
Профиль | | #6
Добавлено: 12.04.07 15:42
Бывает...
Многосторонняя и неодринарная ты личность, однако: даже не имея винды, тусоваться на форуме VBS... Остались еще талантливые люди
Номер ответа: 7
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #7
Добавлено: 12.04.07 15:54
MSDN:
Отсюда уж точно работает.
The Run method creates a new process that executes strCommand with window style intWindowStyle.
Syntax
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
Parameters
strCommand
Environment variables within the strCommand parameter are automatically expanded.
intWindowStyle
This is the value to which the wShowWindow element is set in the STARTUPINFO structure for the new process. Its significance is the same as the nCmdShow parameter of the ShowWindow function, and it may take one of the following values. Name Value Meaning
SW_HIDE
0 Hides the window and activates another window.
SW_MINIMIZE
6 Minimizes the specified window and activates the next top-level window in the Z order.
SW_RESTORE
9 Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.
SW_SHOW
5 Activates the window and displays it in its current size and position.
SW_SHOWMAXIMIZED
3 Activates the window and displays it as a maximized window.
SW_SHOWMINIMIZED
2 Activates the window and displays it as a minimized window.
SW_SHOWMINNOACTIVE
7 Displays the window as a minimized window. The active window remains active.
SW_SHOWNA
8 Displays the window in its current state. The active window remains active.
SW_SHOWNOACTIVATE
4 Displays a window in its most recent size and position. The active window remains active.
SW_SHOWNORMAL
1 Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position.
blnWaitOnReturn
If blnWaitOnReturn is not specified or FALSE, this method immediately returns to script execution rather than waiting for the process termination.
If blnWaitOnReturn is set to TRUE, the Run method returns any error code returned by the application. If blnWaitOnReturn is not specified or is FALSE, Run returns an error code of 0 (zero).
Example
' This fragment launches Notepad with the current executed script
Set WshShell = Wscript.CreateObject("Wscript.Shell"
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("%windir%\notepad" & Wscript.ScriptFullName)
' This fragment returns the error code from the executed application
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)
Номер ответа: 8
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #8
Добавлено: 12.04.07 16:01
2Arseny, ну и чего? какая разница с предыдущими сообщениями???
Номер ответа: 9
Автор ответа:
Asker
Вопросов: 1
Ответов: 4
Профиль | | #9
Добавлено: 12.04.07 16:30
Никакой, но скрипт работает(в том числе и мой изнмчальный) . Приложение оказалось интересным: не хотело запускаться с указанного каталога. Спасибо за внимание.
Сорри.
Весь день хожу тут босиком
Едва знаком я с бейсиком
Номер ответа: 10
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #10
Добавлено: 12.04.07 17:12
А причем здесь разница? Просто, так сказать, первоисточник с подробным описанием.