1

Тема: VBS: не запускается команда

В WindowsXP  все работало

Set WshShell=WScript.CreateObject("WScript.Shell")

Sub Program(Oops, Style, Wait)
X=WshShell.Run(Oops, Style, Wait)
End Sub

Call Program("C:\NetAuth\bin\bin\perl.exe netauth.pl", True, True)
Wscript.Sleep 5000

На Windows 7x64 не запускается.
С ярлыка и из командной строки работает.
Как запустить команду из скрипта?

2

Re: VBS: не запускается команда

Описание метода.
А в чём прок от запуска скрипта perl из под vbs?

3

Re: VBS: не запускается команда

Т.к. не задан рабочий каталог и не указан путь к netauth.pl, то, возможно, он ищется не там.

4 (изменено: Кир, 2016-03-29 09:55:19)

Re: VBS: не запускается команда

Flasher пишет:

А в чём прок от запуска скрипта perl из под vbs?

До выполнения скрипта perl поднимаю dial-up соединение, а потом закрываю его.

shiz пишет:

Т.к. не задан рабочий каталог и не указан путь к netauth.pl, то, возможно, он ищется не там.

ДА. Рабочий каталог в ярлыке C:\NetAuth\script\. Как указать каталог в моем скрипте?

5

Re: VBS: не запускается команда

Весь код:

CreateObject("WScript.Shell").Run "C:\NetAuth\bin\bin\perl.exe C:\NetAuth\script\netauth.pl",, True

5 секунд ожидания там ни к чему.

6

Re: VBS: не запускается команда

Спасибо. Проверю.

7

Re: VBS: не запускается команда

Кир пишет:

Рабочий каталог в ярлыке C:\NetAuth\script\. Как указать каталог в моем скрипте?

Set WshShell = CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "C:\NetAuth\script\"
WshShell.Run "C:\NetAuth\bin\bin\perl.exe netauth.pl",, True

8

Re: VBS: не запускается команда

Flasher CreateObject("WScript.Shell").Run "C:\NetAuth\bin\bin\perl.exe C:\NetAuth\script\netauth.pl",, True не запускается.
shiz добавление WshShell.CurrentDirectory = "C:\NetAuth\script\" помогло.
Всем СПАСИБО!

9 (изменено: ypppu, 2016-11-25 16:35:37)

Re: VBS: не запускается команда

Похожий скрипт не выполняется в Виндовс 2000. Сообщает "Файл не найден Стрпока 3 символ 1":

Set WshShell=WScript.CreateObject("WScript.Shell")
Sub Program(Oops, Style, Wait)
X=WshShell.Run(Oops, Style, Wait)
End Sub

Call Program("rasdial RK chan i_1623", True, True)
Wscript.Sleep 5000

'запускаем вкл/выкл аутентификации
Call Program("С:\NB\tst10.exe /r:C:\NB\log.txt /o", True, True)
Wscript.Sleep 10000

'разъединяем модемное соединение
Call Program("rasdial RK /d", True, True)

Что исправить в скрипте для запуска?

10

Re: VBS: не запускается команда

With CreateObject("WScript.Shell")
  .Run "rasdial RK chan i_1623",, True
  .Run "C:\NB\tst10.exe /r:C:\NB\log.txt /o",, True
  .Run "rasdial RK /d"
End With

11

Re: VBS: не запускается команда

Переписал имя раздела С: в английской раскладке. Работает вроде.