![Компьютерный форум OSzone.net](images/oszone.net.print.gif) |
|
angel_lyucifer |
03-02-2014 05:03 2301624 |
Проблема в echo
Всем привет, нужна ваша помощь! У меня есть батник, он должен писать vbs скрипт но возникла ошибка, скрипт получается не полностью.
Батник мой отказывается писать определённые строки, вот мой vbs скрипт:
PHP код:
Option Explicit
Dim objWshShell
Dim intTime4Show
Dim intMinimumTime
Dim intTimeStartShowing
Dim intRetValue
Set objWshShell = WScript.CreateObject("WScript.Shell")
intTime4Show = 10
intMinimumTime = 0
intTimeStartShowing = Timer
Do
intRetValue = objWshShell.Popup(_
"Необходимый файл для корректной работы VLP не найден."& vbCrLf &"Запускается автоматическое восстановление файлов.",_
intTime4Show - (Timer - intTimeStartShowing),_
"ВНИМАНИЕ, произошла ошибка VLP!",_
vbOKOnly + vbInformation)
Loop Until intRetValue = -1 Or (Timer - intTimeStartShowing)>intMinimumTime
Set objWshShell = Nothing
WScript.Quit 0
А вот мой бат скрипт:
PHP код:
echo Option Explicit >dialog_vlp.vbs
echo Dim objWshShell >>dialog_vlp.vbs
echo Dim intTime4Show >>dialog_vlp.vbs
echo Dim intMinimumTime >>dialog_vlp.vbs
echo Dim intTimeStartShowing >>dialog_vlp.vbs
echo Dim intRetValue >>dialog_vlp.vbs
echo Set objWshShell = WScript.CreateObject("WScript.Shell") >>dialog_vlp.vbs
echo intTime4Show = 10 >>dialog_vlp.vbs
echo intMinimumTime = 0 >>dialog_vlp.vbs
echo intTimeStartShowing = Timer >>dialog_vlp.vbs
echo Do >>dialog_vlp.vbs
echo intRetValue = objWshShell.Popup(_ >>dialog_vlp.vbs
echo "Необходимый файл для корректной работы VLP не найден."& vbCrLf &"Запускается автоматическое восстановление файлов.",_ >>dialog_vlp.vbs
echo intTime4Show - (Timer - intTimeStartShowing),_ >>dialog_vlp.vbs
echo "ВНИМАНИЕ, произошла ошибка VLP!",_ >>dialog_vlp.vbs
echo vbOKOnly + vbInformation) >>dialog_vlp.vbs
echo Loop Until intRetValue = -1 Or (Timer - intTimeStartShowing)>intMinimumTime >>dialog_vlp.vbs
echo Set objWshShell = Nothing >>dialog_vlp.vbs
echo WScript.Quit 0 >>dialog_vlp.vbs
И в итоги получаем вот такой недописанный скрипт:
PHP код:
Option Explicit
Dim objWshShell
Dim intTime4Show
Dim intMinimumTime
Dim intTimeStartShowing
Dim intRetValue
Set objWshShell = WScript.CreateObject("WScript.Shell")
intTime4Show = 10
intMinimumTime = 0
intTimeStartShowing = Timer
Do
intRetValue = objWshShell.Popup(_
intTime4Show - (Timer - intTimeStartShowing),_
"ВНИМАНИЕ, произошла ошибка VLP!",_
vbOKOnly + vbInformation)
Loop Until intRetValue = -1 Or (Timer - intTimeStartShowing)
Set objWshShell = Nothing
WScript.Quit 0
Пожалуйста помогите разобраться и если можно справьте мою ошибку...
|
angel_lyucifer, изначальный посыл кода vbscript: «незакрываемый» MsgBox на заданное время — Windows Script Host, HTA (VBScript, JScript) — Серый форум состоял в:
Цитата:
Цитата Arlekin_s
Как сообщение типа WScript.Echo "Hello, world!!" сделать чтобы оно не закрывалось или его нельзя было закрыть определенное количество секунд.
|
А в Вашем варианте минимальное количество секунд равно нулю:
и использование данного кода становится совершенно бессмысленным, поскольку весь он может быть заменён на простое:
Код:
WScript.CreateObject("WScript.Shell").Popup( _
"Необходимый файл для корректной работы VLP не найден." & vbCrLf & _
"Запускается автоматическое восстановление файлов.", 10, _
"ВНИМАНИЕ, произошла ошибка VLP!", vbOKOnly + vbInformation _
)
Посему:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>"dialog_vlp.vbs" (
echo WScript.CreateObject^("WScript.Shell"^).Popup^( _
echo "Необходимый файл для корректной работы VLP не найден." ^& vbCrLf ^& _
echo "Запускается автоматическое восстановление файлов.", 10, _
echo "ВНИМАНИЕ, произошла ошибка VLP^!", vbOKOnly + vbInformation _
echo ^)
)
endlocal
exit /b 0
P.S. Для сообщения об ошибке гораздо лучше подойдут константы «vbExclamation» или даже «vbCritical», но никак не «vbInformation».
|
angel_lyucifer |
03-02-2014 23:07 2302169 |
Цитата:
Цитата Iska
WScript.CreateObject("WScript.Shell").Popup( _
"Необходимый файл для корректной работы VLP не найден." & vbCrLf & _
"Запускается автоматическое восстановление файлов.", 10, _
"ВНИМАНИЕ, произошла ошибка VLP!", vbOKOnly + vbInformation _
)
»
|
Данный vbs скрипт не работает!! -(
|
angel_lyucifer, ага ;). Теперь скобки при Popup лишние.
Пробуйте:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>"dialog_vlp.vbs" (
echo WScript.CreateObject^("WScript.Shell"^).Popup _
echo "Необходимый файл для корректной работы VLP не найден." ^& vbCrLf ^& _
echo "Запускается автоматическое восстановление файлов.", 10, _
echo "ВНИМАНИЕ, произошла ошибка VLP^!", vbOKOnly + vbExclamation
)
endlocal
exit /b 0
|
angel_lyucifer |
04-02-2014 19:49 2302710 |
Iska Спасибо, теперь работает!
|
Время: 18:59.
© OSzone.net 2001-