Показать полную графическую версию : Помогите написать скрипт на последовательеый запуск команд
Здравствуйте !
Я хочу написать скрипт на последовательный запуск программ и открытие папок, но чтобы каждое следующее действие
выполнялось лишь после того как нормально выполниться предыдущее. Т.е. будет открыто окно для папки или
соответствующего приложения. Кроме того как вставлять паузы между командами я ничего не смог придумать.
Помогите пожалуйста.
peterm, приведите пример или Ваш код.
Option explicit
Dim WshShell, RetCode, objShellApp
Set WshShell = CreateObject("WScript.Shell")
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open("D:\Internet")
objShellApp.Open("D:\Internet\Doc Soft JavaScript vbScript WSH etc")
WshShell.Run "iexplore",1
WshShell.Run """C:\Program Files\Opera\opera.exe""",2
WshShell.Run "AcroRd32 " & _
"D:\__Temp Doc Soft\__Doc_0005\WSH\VBScript.pdf",2
WshShell.Run "AcroRd32 " & _
"D:\__Temp Doc Soft\WSH\Windows Scripting Host Programmer's Reference.pdf",2
WshShell.Run "hh D:\__Temp Doc Soft\WHS_Automation.chm",2
WshShell.Run "hh D:\__Temp Doc Soft\WSH\vbscrip5.chm",2
WshShell.Run "hh D:\__Temp Doc Soft\WSH\JScript5rus.chm",2
WshShell.Run """D:\__Temp Doc Soft\WSH\Scripts_for_Win_admins_Torres.djvu""",2
objShellApp.Open("D:\Projects\Scripts WSH Jscript Vbscript")
WshShell.Run "wordpad ""D:\__Temp Doc Soft\WSH\Kurs VBScript.rtf""",2
По поводу объекта «Shell.Application»: как правило, его методы асинхронны — он не ждёт завершения исполнения метода. Под старые ОС были обходные пути, позволяющие скрипту «сидеть и ждать», например, открытия окна Проводника, под нонешними вроде как сие больше не работает.
По поводу метода «.Run()» объекта «WScript.Shell»: метод синхронен, т.е. исполнение скрипта не продолжится, пока метод не будет исполнен. Однако, то, что метод исполнен, отнюдь не означает, что, например, здесь:
With WScript.CreateObject("WScript.Shell")
.Run "Photoshop.exe"
.Run "notepad.exe"
End With
окно Photoshop'а появится на экране раньше, нежели окно Блокнота, скорее наоборот. Ибо Photoshop, по сравнению с Блокнотом весьма и весьма «тяжеловесное» приложение.
Я понимаю, Вас как раз интересует определённый порядок расположения (наложения, «z-order») окон Проводника и запускаемых приложений, так?
Да именно так. И вообще как получить подтверждение ( код возврата ), что программв уже загрузилась. Это важно не
только для расположения окон.
И вообще как получить подтверждение ( код возврата ), что программв уже загрузилась. »
Здесь у Вас ошибка в терминах: получить код возврата, он же errorlevel, можно только по завершении приложения.
Самый простой путь — использовать библиотеку AutoItX и следить за окнами, ожидая потребного.
Спасибо я понял. Буду искать, что читать и думать, а если Вы приведете какой-нибудь пример исходного кода то
я буду Вам очень благодарен.
Смотрите обзор: Обзор библиотеки AutoItX3.dll (http://www.script-coding.com/AutiItX.html).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.