Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: Обработка команды в CMD через VBS Добавлено: 09.12.11 14:43  

Автор вопроса:  Олег
Доброго времени суток.
Вопрос:
есть eventquery.vbs(Windows 2003), которая работает с логами системы. У меня есть запрос:
cscript EVENTQUERY.vbs /FI "Type eq warning and datetime eq 12/01/11,00:00:01AM-12/01/11,11:59:59PM" /v> c:/warning.txt


Необходимо ее запустить через VBS.

Использую вот так:
Set objShell = CreateObject("WScript.Shell")
Set OBJ1 = objShell.Exec("cscript EVENTQUERY.vbs /FI " & chr(34) & "Type eq error and datetime eq " & Month(date) & "/" & day(date) & "/" & year(date) & "00:00:01AM-" & Month(date) & "/" & day(date) & "/" & year(date) & ",11:59:59PM" & chr(34) & " /v> c:/error.txt")
WScript.Sleep 1000
set obj1 = nothing


В чем ошибка?
PS.
Пробовал кавычки двойные убрать.
Пробовал написать полный адрес
  ....cscript c:\windows\system32\EVENTQUERY.vbs /FI ...."

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 AxeL



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #1 Добавлено: 12.12.11 03:39
Для начала: как идет прием аргументов? здесь об этом нету ни единого слова... В текущем виде передается четыре аргумента
/FI
Type eq error and datetime eq 12/12/201100:00:01AM-12/12/2011,11:59:59PM
/v>
c:/error.txt
Отсутствует запятая перед "00:00:01AM" и последние два параметра наверняка хотелось передавать как один...
Обработка аргументов:
  1. Set args = WScript.arguments
  2. If args.count <> 0 Then
  3. For i = 0 To args.Count - 1
  4. MsgBox args.item(i)
  5. Next
  6. End If
  7. Set args = nothing
Вместо MsgBox - свою обработку.
Использование:
  1. Set objShell = CreateObject("WScript.Shell")
  2. Set OBJ1 = objShell.Exec("cscript EVENTQUERY.vbs /FI " & chr(34) & "Type eq error and datetime eq " & Month(date) & "/" & day(date) & "/" & year(date) & ",00:00:01AM-" & Month(date) & "/" & day(date) & "/" & year(date) & ",11:59:59PM" & chr(34) & " /v>c:/error.txt")
  3. WScript.Sleep 1000
  4. set obj1 = nothing
Добавлена пропущенная запятая, перенаправление вывода - один параметр...или имелось ввиду "/v >c:\error.txt" два параметра?

Ответить

Номер ответа: 2
Автор ответа:
 Олег



Вопросов: 4
Ответов: 10
 Профиль | | #2 Добавлено: 12.12.11 10:31
РЕШЕНО!

Set OBJ1 = objShell.Exec("CMD /Q  /C cscript c:/windows/system32/EVENTQUERY.vbs /FI ""Type eq warning and datetime eq 12/10/11,12:00:00AM-12/10/11,11:59:59PM"" /v >c:\warning.txt";)

Ответить

Номер ответа: 3
Автор ответа:
 Олег



Вопросов: 4
Ответов: 10
 Профиль | | #3 Добавлено: 12.12.11 14:31
Большое спасибо Axel за код.
Доделал до конца с вашей помощью.

  1. Set args = WScript.arguments
  2. If args.count <> 0 Then
  3. For i = 0 To args.Count - 1
  4. MsgBox args.item(i)
  5. Next
  6. End If
  7. Set args = nothing
  8. Set objShell = CreateObject("WScript.Shell")
  9. Set OBJ1 = objShell.Exec("CMD /Q  /C cscript c:/windows/system32/EVENTQUERY.vbs /FI ""Type eq warning and datetime eq " & Month(date) & "/" & day(date) & "/" & year(date) & ",12:00:00AM-" & Month(date) & "/" & day(date) & "/" & year(date) & ",11:59:59PM"" /v > c:\serverSCRIPT\warning.txt")
  10. Set OBJ2 = objShell.Exec("CMD /Q  /C cscript c:/windows/system32/EVENTQUERY.vbs /FI ""Type eq error and datetime eq " & Month(date) & "/" & day(date) & "/" & year(date) & ",12:00:00AM-" & Month(date) & "/" & day(date) & "/" & year(date) & ",11:59:59PM"" /v > c:\serverSCRIPT\error.txt")
  11. WScript.Sleep 1000
  12. set obj2 = nothing
  13. set obj1 = nothing

Ответить

Номер ответа: 4
Автор ответа:
 AxeL



ICQ: 264730390 

Вопросов: 2
Ответов: 106
 Профиль | | #4 Добавлено: 13.12.11 05:34
Пожалуйста. Код:
  1. Set args = WScript.arguments
  2. If args.count <> 0 Then
  3. For i = 0 To args.Count - 1
  4. MsgBox args.item(i)
  5. Next
  6. End If
  7. Set args = nothing
должен быть в приемнике, т.е. в "EVENTQUERY.vbs"

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам