Mostrando postagens com marcador Vbs. Mostrar todas as postagens
Mostrando postagens com marcador Vbs. Mostrar todas as postagens

27 fevereiro 2010

Bom galera, faz um tempo que não posto nada sobre programação, então resolvi postar um script que fiz recentemente para replicação de arquivos, usando o VBS.

O objetivo neste script é mapear algumas unidades de rede e replicar arquivos especificos, mas isso pode ser adequado a sua necessidade ou ao dia-a-dia.

Vamos ao código.

A função que mapeia as Unidades é

CheckShare(DriveLetter,ServerName,ShareName,SharePass,ShareUser,RemoveShare)

Adequem a linha abaixo para copiar uma parte ou um arquivo especifico, para isso é preciso conhecer comandos do MS-DOS.

objShell.Run "xcopy "& Origem &":\*.* "& Destino &":\ /e /c /y /r", 1, true

Para simular o código fonte abaixo, salve ele como "Teste.VBS" em "c:"e utilize o MS-DOS com a seguinte chamada:

cscript teste.vbs

As mensagens serão exibidas no MS-DOS.


________________________________________________________________
CÓDIGO FONTE ABAIXO ORIGINAL (Leia mais)
________________________________________________________________


30 junho 2009

Excel + VBA

Galera, usar excel é um porre, não sei muito bem esses lances de fórmulas e tal.

Mas fiquei brincando com um editor VBA que ele tem (alt + 11), neles vocês podem criar um formulário, botões, etc.

Atribuir funções como se fosse um programa VB, porém no Excel.

Fiz uma planilha para controle de ligações e funciona bem, espero ter tempo para explicar como fazer uma planilha simples de controle de contatos, o problema é que é extenso.

Mas vamos tentar, aguardem os proximos posts.

Abs

19 maio 2009

Canal aberto

Gostaria de deixar aberto este canal para que sugiram tópicos para que eu possa localizar e propriciar soluções para meus leitores.

O contato pode ser feito pelos comentários, prefiro não abrir para receber emails pois não conseguirei responder a todos.

Fica ae mais um canal aberto para que troquemos informações.

Abs e até apróxima

13 abril 2009

Usando o winrar no Vbscript

No artigo sobre noções básicas do Vbscript, comentei sobre a chamada de processos externos, como por exemplo o uso de arquivos de extensões bat.

Este artigo tem o objetivo de exemplificar o uso do Winrar para compactação de diretórios, em servidores de arquivo.
'** Linha comentada sobre o uso de programas externos.
objShell.Run strPath &"\process.bat", 0, True '** Listando os processos em TXT

Dados para o arquivo Bat


'**Para utilizarmos o Winrar através do MsDos podemos usar a chamada abaixo
c:
cd\
cd "program files"
cd winrar
RAR.exe a -ep1 -r0 -- %1.rar %2
%3 %2 /q
'** Esta linha exclui o diretório recem compactado no servidor, você poderá usar ou não este, bastando comentar com a Tag REM no inicio da linha.
exit

Onde este arquivo bat recebe três parâmetros "%" 1,2 e 3.

Sendo estes:

%1 = Pasta que será compactada
..........Ex: c:\temp\dados

%2 = Nome do Arquivo que será gerado pelo Winrar
.......... Ex: dados_2009.04.01.rar

%3 = Linha de Comando que será executada após a execução
.......... Ex: md, rd, etcd

é isso ae, qualquer dúvida postem nos comentários ou mandem email.

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.