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)
________________________________________________________________





wscript.echo "______________________________________"&VBCrlf &_
"| REPLICADOR DE - Brazucas S/A  |"&VBCrlf &_
"| -----contrig.blogspot.com--------------|"&VBCrlf &_
"|     INICIALIZANDO O PROCEDIMENTO   |"&VBCrlf &_
"______________________________________"&VBCrlf 
'-------------------------------------------------------------'
'** 1º PARTE CRIANDO OS MAPEAMENTOS 
'-------------------------------------------------------------'
wscript.echo vbcrlf &"1º Fase [CRIA MAPEAMENTO]"& vbcrlf
Call CheckShare("w","127.0.0.1","Publish","PassWord","UserName",true) '** Nome do mapeamento de Origem

Call CheckShare("x","127.0.0.1","ToWeb","PassWord","UserName",true) '** Nome do mapeamento de destino


'---------------------------------------------------------------------------------------------------
'** 2º COPIANDO O ARQUIVOS
'---------------------------------------------------------------------------------------------------
wscript.echo vbcrlf &"2º Fase [REPLICANDO]"& vbcrlf
Call CopyHosts("w","x") '** Origem (Publish)  -> Para www (toWeb)
'---------------------------------------------------------------------------------------------------
'** 3º DESTRUINDO O MAPEAMENTO
'---------------------------------------------------------------------------------------------------
wscript.echo vbcrlf &"3º Fase [APAGA MAPEAMENTO]"& vbcrlf
Call DropShare("w") '** Publish
Call DropShare("x") '** ToWeb
'---------------------------------------------------------------------------------------------------

wscript.echo "______________________________________"&VBCrlf &_
"| REPLICADOR DE - Brazucas S/A  |"&VBCrlf &_
"| -----contrig.blogspot.com--------------|"&VBCrlf &_
"|     FIM DO PROCEDIMENTO   |"&VBCrlf &_
"______________________________________"&VBCrlf 

'---------------------------------------------------------------------------------------------------
Public Sub DropShare(DriveLetter)
wscript.echo "    .Delete "& DriveLetter
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run "net use "& DriveLetter &": /delete" , 0, True 
Set objShell = nothing
End Sub
'---------------------------------------------------------------------------------------------------
Public Sub CheckShare(DriveLetter,ServerName,ShareName,SharePass,ShareUser,RemoveShare)
wscript.echo "   .Create "& DriveLetter
Set objShell = Wscript.CreateObject("Wscript.Shell")
if RemoveShare then objShell.Run "net use "& DriveLetter &": /delete" , 0, True 
objShell.Run "net use "& DriveLetter &": \\"& ServerName &"\"& ShareName &" "& SharePass &"  /USER:"& ShareUser , 0, True
Set objShell = nothing
End Sub
'---------------------------------------------------------------------------------------------------
Public Sub CopyHosts(Origem,Destino)
wscript.echo "    .Copy "& Origem &" to "& Destino
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run "xcopy "& Origem &":\*.* "& Destino &":\ /e /c /y /r", 1, true
Set objShell = nothing
End Sub
'---------------------------------------------------------------------------------------------------

Nenhum comentário: