08 abril 2009

Vbscript - noções básicas

VBSCRIPT é um derivado do VisualBasic (VB) que também segue o padrão da linguagem ASP, desta forma muitos acham que um arquivo *.vbs não tem muitas funções.

Ai que está a diferença em quem sabe utiliar os conceitos de lógica de programação e os recursos do vbs.

Tentarei explicar em alguns artigos como criar monitores de processos, compactação de arquivos entre outros recursos possiveis que o vbs possa executar.

Vale ressaltar que o vbs somente é executado em Ambiente Windows, logo, desculpas aos comunidade OpenSource.

Abaixo irei explicar o conceito de um VBS para execução a cada 10 segundos, pois poderiamos muito bem utilizar o Agendamento de Tarefas do windows, mas já tentou fazer uma tarefa rodar a cada 10 segundos?



Trecho do VBS

Dim strSecond : strSecond = 0
Dim strTime : strTime = 60 '** Tempo do LIMITADOR (FIM DO SCRIPT) ***NAO MUDAR
Dim strExec : strExec = 10 '** Em Segundos, tempo de execução do SCRIPT
Dim strControl : strControl = date() - 1

'-------------------------------------------------------------'

'** Inicio do Processo

'-------------------------------------------------------------'
Set objShell = Wscript.CreateObject("Wscript.Shell")
Do Until (strSecond > strTime)
strSecond = Second(time) : Wscript.sleep 1000 '** Milisegundos
if (strSecond mod strExec) = 0 and F_Exec <> time() then
F_Exec = time()
objShell.Run strPath &"\process.bat", 0, True '** Listando os processos em TXT
end if
Loop
Set objShell = nothing
'-------------------------------------------------------------'
Onde:

objShell.Run strPath &"\process.bat", 0, True -> Esta linha executa um arquivo qualquer, pode ser executável ou bat (*.bat), o parâmetro 0 indica que a janela não será aberta, ou seja, não será visivel ao executor do script.

"process.bat" -> Este arquivo bat lista os processos que estão em execução no equipamento, podendo ser Servidor ou Estação (Desktop), no caso que foi utilizado teve o objetivo de gerar um arquivo texto com a lista de processos.

Ai você que está lendo se pergunta:

"Mas não é fácil conectar no servidor e ver se o processo está em execução?"

Eu digo "Sim", mas como você faria isso sem que não tivesse condições de acessar a máquina para monitorar isso?

Simples, o VBS em conjunto com o BAT dá a saida em TXT.

Logo um arquivo ASP, isso mesmo ASP (Servidor IIS - Microsoft) lhe dá a visão do servidor, por isso a criticidade dos 10 segundos definida no script acima.

Este bloco que deixo disponivel é apenas um começo, em outros artigos irei incrementando esta idéia do uso de VBS para controle e monitoramentos.

Conteúdo do process.bat

@echo off

del *.txt /Q

REM Alternativa de listagens dos processos (Exibe somente o LABEL - NOME)
wmic process get caption > c:\\caption.txt
type c:\\caption.txt >> D:\Intercambio_v2\process\caption.txt
exit
Essa linha é a responsável pela saída dos processos do windows "wmic process get caption".

É isso ae, qualquer dúvida comentem este post ou entre em contato.

Abs.

Nenhum comentário: