Você está na página 1de 96

Guia de Consulta Rpida

Windows Script Host


Roberto G. A. Veiga

Novatec Editora
www.novateceditora.com.br

Guia de Consulta Rpida Windows Script Host de Roberto G. A. Veiga.

Copyright 2000 da Novatec Editora Ltda.

Todos os direitos reservados. proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao, por escrito, do autor e da Editora.

ISBN: 85-85184-82-5

Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj. 01 02018-012 So Paulo - SP Brasil Tel.: (0xx11) 6959-6529 Fax: (0xx11) 6950-8869 E-mail: novatec@novateceditora.com.br Site: www.novateceditora.com.br

Marcas registradas
Microsoft, Windows, Windows NT, Active Directory, ActiveX e Internet Information Server so marcas registradas da Microsoft Corporation nos Estados Unidos e em outros pases. Outras marcas so de propriedade de seus respectivos fabricantes.

Sumrio

Introduo .......................................................................... 5 Por que usar o WSH? ................................................... 6 Instalao ..................................................................... 7 Executando um script WSH ............................................... 8 Utilizando o WScript ................................................... 8 Utilizando o CScript .................................................... 8 Arquivos .WSH ................................................................. 9 Utilizao de Elementos XML ........................................ 10 Arquivos .WSF .......................................................... 10 Objetos do WSH .............................................................. 16 Objeto Wscript ........................................................... 16 Objeto WshArguments ............................................... 21 Objeto WshShell ........................................................ 22 Objeto WshNetwork .................................................. 31 Objeto WshCollection ............................................... 35 Objeto WshEnvironment ........................................... 36 Objeto WshShortcut ................................................... 38 Objeto WshSpecialFolders ........................................ 40 Objeto WshURLShortcut ........................................... 41 Objeto Dictionary ............................................................ 43 FileSystemObject ............................................................. 46 Objeto Drive .............................................................. 55 Objeto File ................................................................. 58 Objeto Folder ............................................................. 62 Objeto TextStream ..................................................... 68 Recursos Avanados ........................................................ 73 Classes WIN32 .......................................................... 73 ADSI .......................................................................... 74 Scripts de Logon ........................................................ 75 Windows Script Components ..................................... 76 Criptografando Scripts do WSH ................................ 77 VBScript .......................................................................... 78 Funes, constantes e objetos do VBScript ............... 86 Objeto Err ................................................................. 87 Objeto RegExp .......................................................... 88 Informaes Adicionais ................................................... 93
3

Introduo

Introduo
O Windows Script Host, ou simplesmente WSH, um ambiente de scripting para a plataforma Windows de 32 bits que veio substituir a linguagem batch herdada do MS-DOS. Permite a desenvolvedores, administradores de sistemas e consultores de informtica desenvolverem scripts para a realizao de vrias tarefas dentro do Windows, desde as mais simples, como exibir texto numa caixa de mensagem, at as mais complexas, como manipular os objetos do Active Directory via ADSI. A principal caracterstica do WSH o fato de ser independente de linguagem de programao, o que significa que qualquer linguagem, desde que disponha de um mecanismo de scripting (interpretador) compatvel com a tecnologia ActiveX, pode ser utilizada no desenvolvimento de scripts do WSH. A Microsoft oferece dois mecanismos de scripting - o do VBScript e o do JavaScript -, mas possvel encontrar outros mecanismos de scripting para linguagens populares, como Perl, Tcl ou Python, fornecidos por outros fabricantes. Abaixo, um exemplo de script do WSH - o qual utiliza o VBScript como linguagem de programao - que exibe a frase Al, mundo! numa caixa de mensagem do Windows:
Exemplo
Rem Exibe a frase Al, mundo!. Para test-lo, salve como um arquivo com extenso .vbs e depois execute-o: Wscript.Echo Al, mundo!

Ao executar o arquivo .vbs, ser exibida a seguinte caixa de mensagem:

Para os programadores ASP, o WSH parecer bem familiar. De fato, o ASP um ambiente de scripting, ou host, para o Microsoft Internet Information Server, assim como o WSH, como dito anteriormente, um ambiente de scripting para a plataforma Windows. Ambos so compatveis com a tecnologia ActiveX da Microsoft.

Introduo

Este guia abordar a verso mais recente do WSH, a 2.0, que traz consigo a verso 5.1 do Windows Script Engine e acrescenta a possibilidade de utilizao da linguagem XML no desenvolvimento de scripts. Muita informao adicional sobre o WSH e outras tecnologias de scripting da Microsoft pode ser obtida no site http://msdn.microsoft.com/scripting. esse site que voc deve acessar em busca de novidades sobre o WSH, incluindo novas verses e patches de atualizao. Existem outros sites que tambm oferecem informaes sobre o WSH. Trs que eu sugiro so: http://wsh.superexpert.com, http://www.devguru.com e http://wsh.glazier.co.nz.

Por que usar o WSH?


Um script WSH pode ser executado tanto a partir do Windows quanto a partir do prompt da linha de comando. WSH independente de linguagem de programao, o que d ao desenvolvedor de scripts liberdade para utilizar a sua linguagem favorita, desde que ela suporte a tecnologia ActiveX da Microsoft. A partir da verso 2.0 do WSH, possvel utilizar a XML, inclusive reutilizando antigos arquivos de script .vbs e .js dentro de um nico arquivo .wsf. Baixa utilizao de memria do sistema. Mapeamento automtico de extenses de arquivo, o que siginifca que o WSH entregar a execuo de arquivos com extenso .vbs diretamente ao interpretador VBScript e de arquivos .js ao interpretador JScript. No preciso nenhum programa especial para gerar scripts do WSH, pois no so nada alm de arquivos de texto. O bom e velho Notepad d conta do recado.

Introduo

Instalao
O WSH vem instalado por padro no Windows 98 (verso 1.0) e no Windows 2000 (verso 2.0). No Windows 95 e no Windows NT ele deve ser instalado como um componente adicional. O arquivo de instalao, chamado ste51en.exe para a verso 5.1 em ingls do pacote Windows Script Engine, pode ser baixado gratuitamente, via download, do site http://msdn.microsoft.com/scripting. A instalao do WSH no Windows 95 ou no NT, como a de qualquer componente extra do Windows, extremamente rpida e descomplicada. Basta executar o arquivo de instalao e nenhuma outra ao ser requerida do usurio que no a de responder SIM quando for solicitado e clicar no boto OK no final do processo. No Windows 98 e no 2000, a deciso de ter o WSH instalado ou no, pode ser tomada na instalao do Sistema Operacional, quando surge a janela Componentes Opcionais. O WSH pode ser encontrado dentro de Acessrios ao clicar no boto Detalhes. Posteriormente, o WSH pode ser instalado/desinstalado em Painel de Controle Adicionar/Remover Programas Instalao do Windows Acessrios. poca em que estava escrevendo este guia, a Microsoft estava liberando a verso 5.5 do Windows Script Engine, que tambm utiliza a verso 2.0 do WSH mas, por outro lado, traz melhorias para os mecanismos de scripting do VBScript e do JScript.

Executando um script WSH

Executando um script WSH


Existem duas maneiras de executar um script WSH:

Utilizando o WScript
O WScript.exe permite que os arquivos do WSH sejam executados a partir do Windows. Para executar um arquivo do WSH utilizando o WScript.exe, voc pode: Dar duplo clique no arquivo. Entrar o caminho completo e o nome do arquivo em Iniciar Executar e clicar em OK. Entrar Wscript.exe seguido do caminho completo e do nome do arquivo em Iniciar Executar e clicar em OK.

Utilizando o CScript
O CScript.exe, por outro lado, permite que os arquivos do WSH sejam executados a partir do prompt da linha de comando. Para usar o CScript, utilize a seguinte sintaxe:
cscript [ opes ] [ script ] [ parmetros ]

Argumento opes //I //B

Descrio

Habilita o modo interativo. Desabilita o modo interativo; o script executado em segundo plano. //T:nn Habilita time-out. O padro nolimit. Quando algum valor for especificado, o script s poder ser executado at que ele seja atingido. //logo Exibe uma mensagem sobre o WSH. //nologo No exibe a mensagem sobre o WSH. //H:valor Valor tanto pode ser CScript quanto WScript. Esse parmetro registra um ou outro como a aplicao padro para executar scripts. Se omitido, WScript.exe ser assumido. //S Salva as atuais configuraes da linha de comando. //? Mostra a utilizao dos comandos do CScript.exe. //E:engine Executa o script com o mecanismo de scripting especificado em engine. //D Habilita o depurador. //X Carrega o programa no depurador. //Job:<JobID> Executa o JobID especificado em um arquivo .wsf. script Nome do arquivo script. parmetros Parmetros passados ao script. Devem ser precedidos por uma barra (/). Exemplo
Executa o script chamado x.vbs com o parmetro //nologo e habilitando o depurador: C:\>cscript //nologo //D x.vbs

Arquivos .WSH

Arquivos .WSH
Os arquivos .wsh so arquivos de texto onde so armazenadas configuraes especficas de um script. Ele criado automaticamente quando so alteradas as propriedades do script conforme demonstrado abaixo. Para criar um arquivo .wsh: 1. D um clique com o boto direito do mouse sobre um arquivo de script. 2. No menu de contexto escolha Propriedades. Abaixo, a pgina de propriedades do arquivo x.vbs no ambiente Windows 2000:

3. Altere as configuraes que quiser na pgina de propriedades. 4. Clique no boto OK. O contedo do arquivo .wsh criado seria semelhante a este:
[ScriptFile] Path=C:\x.vbs [Options] Timeout=0 DisplayLogo=1 BatchMode=0

Quando for executar o arquivo .wsh atravs da linha de comando, ou da caixa de dilogo Executar, d duplo clique no arquivo, que o WScript.exe ou o CScript.exe ler o arquivo em busca das configuraes definidas para o script ao qual o arquivo .wsh estiver associado e, s ento, o script ser executado. importante ressaltar que a criao do arquivo .wsh no elimina a necessidade da existncia do arquivo de script.

Elementos XML

Utilizao de Elementos XML


A eXtensible Markup Language (XML) , em alguns pontos, semelhante HTML, pois tambm uma linguagem de formatao de contedo para exibio de documentos, principalmente na Internet. A grande e fundamental diferena que a XML no est restrita a tags predefinidas como a HTML, o que oferece muita flexibilidade ao desenvolvedor. A XML um padro aberto e de se esperar que sua utilizao s aumente nos prximos anos. Se voc no tiver muita familiaridade com a XML, infelizmente este guia no dever ser o seu ponto de partida. Sugiro que voc adquira o Guia de Consulta Rpida da Novatec sobre a XML, ou ento procure informaes na Internet, em sites como o http://www.microsoft.com/ workshop/xml ou o http://msdn.microsoft.com/xml. Para poder usar a XML necessrio que haja um analisador da linguagem instalado na mquina. O Windows Script Host 2.0 vem com esse analisador. Lembre-se que scripts do WSH que utilizem a XML devero ter a extenso de arquivo .wsf.

Arquivos .WSF
Os arquivos .wsf so justamente arquivos de script que utilizam tags XML e que podem, dentre outras coisas, executar simultaneamente cdigo em VBScript e em JScript. Portanto, eles no esto atrelados diretamente a nenhum mecanismo de scripting e so capazes de utilizar mais de um ao mesmo tempo, desde que os mecanismos de scripting sejam compatveis com a tecnologia ActiveX. Abaixo, um exemplo de arquivo .wsf:
<?XML version=1.0" ?> <job> <script language=VBScript> <![CDATA[ Wscript.Echo Windows Script Host eh quente! ]]> </script> </job>

10

Elementos XML

Elementos da XML
Na tabela abaixo esto listados os elementos da linguagem XML que podero ser usados em scripts do WSH:
Elementos <?XML ?> Descrio Indica que um arquivo deve ser analisado por um analisador XML. <?job ?> Indica se o WSH dever exibir mensagens de erro durante a execuo do script e se dever acionar o depurador quando da ocorrncia de um erro <job> Define um job dentro de um arquivo .wsf. <object> Cria um objeto. <package> Permite que mais de um job seja definido dentro de um arquivo .wsf. <reference> Usada para incluir uma referncia a uma biblioteca externa ao script. <resource> Isola dados dentro de um arquivo de script. <script> Insere um bloco de cdigo escrito em VBScript ou JScript dentro de um arquivo .wsf. <![CDATA[...]]> Evita que o analisador XML falhe ao encontrar palavras reservadas da linguagem em cdigo de script escrito em VBScript ou JScript.

<?XML ?>
Indica que um arquivo deve ser analisado por um analisador XML. Deve ser inserido no incio do arquivo.
<?XML version=verso >

Parmetro version

Descrio Verso da XML sendo executada.

<?job ?>
Especifica atributos para tratamento de erros, informando ao WSH se deve ou no ser exibida uma mensagem de erro durante a execuo do script e, caso ocorra algum erro, se o depurador dever ou no ser acionado.
<?job error=varboolean debug=varboolean ?>

Parmetro error debug Exemplo

Descrio Booleano. Habilita (True) ou no (False) a exibio de mensagens de erro durante a execuo do script. Booleano. Aciona (True) ou no (False) o depurador quando ocorrer um erro na execuo do script.

<?XML version=1.0" ?> <job> <?job error=true debug=true?> <script language=VBScript> WScript.Echo Ol mundo! </script> </job>

11

Elementos XML

<job>
Define um job dentro de um arquivo .wsf. Um job uma tarefa a ser executada quando o script for chamado.
<job [id=JobID]>

Cdigo a ser executado


</job>

Parmetro id

Descrio Nome pelo qual ser feita referncia ao job dentro do script e atravs do qual poder ser executado a partir da linha de comando.

Exemplo
Utilizao da tag <job > para definir mais de um job dentro de um arquivo .wsf: <?XML version=1.0" ?> <package> <job id=Ol> <script language=VBScript> WScript.Echo Ol! </script> </job> <job id=Adeus> <script language=VBScript> WScript.Echo Adeus! </script> </job> </package>

<object>
Cria um novo objeto dentro do arquivo .wsf. Semelhante tag de mesmo nome do HTML. A tag object define um objeto global dentro do cdigo do script, que pode ser acessado por cdigo escrito em VBScript ou JScript.
<object id=objID [progid=progID | classid=clsid:GUID] />

Parmetro id progid classid Exemplo

Descrio Nome pelo qual o objeto ser conhecido no script. Nome da classe a partir da qual poder ser definido um objeto. Cdigo da classe a partir da qual poder ser definido um objeto.

<?XML version=1.0" ?> <job> <object id=WshShell progid=WScript.Shell/> <script language=VBScript> <![CDATA[ WshShell.Popup WshShell eh um objeto declarado atravs da tag <object >. ]]> </script> </job>

12

Elementos XML

<package>
Permite que haja mltiplos jobs dentro de um mesmo arquivo .wsf. A utilizao de package opcional quando h apenas um job no script.
<package>

Jobs
</package>

Exemplo
Utilizao da tag <package > em um arquivo .wsf com vrios jobs: <?XML version=1.0" ?> <package> <job id=Um> <script language=VBScript> WScript.Echo Job Um. </script> </job> <job id=Dois> <script language=VBScript> WScript.Echo Job Dois. </script> </job> <job id=Trs> <script language=VBScript> WScript.Echo Job Trs. </script> </job> </package>

<reference>
Esta tag utilizada quando se quer fazer uso de objetos existentes em uma biblioteca externa ao script.
<reference [object=progID | guid=typelibGUID] [version=version_info] />

Parmetro object guid version Exemplo

Descrio Nome da classe a partir da qual um objeto de uma biblioteca externa pode ser instanciado. O guid da biblioteca qual est sendo feita referncia. Verso da biblioteca a qual est sendo feita referncia. Se nenhum valor for fornecido, ser assumido 1.0.

Utilizao da tag <reference > para acessar o objeto Recordset do ADO: <?XML version=1.0 ?> <package> <job> <reference object=ADODB.Recordset/> <script language=VBScript> WScript.Echo adUseClient = + CStr(adUseClient) </script> </job> </package>

13

Elementos XML

<resource>
Armazena dados de texto ou numricos para posterior utilizao dentro do script.
<resource id=resourceID>

dado
</resource>

Exemplo
Utilizao da tag <resource> para armazenar um valor: <?XML version=1.0 ?> <job> <resource id=mensagem> WSH eh legal! </resource> <script language=VBScript> strMensagem = getResource(mensagem) WScript.Echo strMensagem </script> </job>

Parmetro id

Descrio Nome pelo qual ser feita referncia ao recurso dentro do script. Dever ser fornecido como argumento funo getResource() para que se obtenha o valor dos dados isolados pela tag.

<script>
Insere um bloco de cdigo dentro do script, especificando tambm a linguagem que est sendo utilizada. Semelhante tag de mesmo nome encontrada no HTML.
<script language=linguagem [src=arquivo]>

Cdigo
</script>

Parmetro language src

Descrio Especifica a linguagem a ser utilizada. Atualmente so suportadas as linguagens VBScript e JScript. A localizao de um arquivo externo, contendo cdigo de script, a ser includo no arquivo .wsf.

14

Elementos XML

<![CDATA[...]]>
<![CDATA[...]]> no propriamente uma instruo da XML. Sua nica funo impedir que o analisador XML falhe ao analisar um arquivo .wsf que contenha cdigo em VBScript ou JScript onde se encontrem palavras ou caracteres reservados da XML.
<![CDATA[

Cdigo
]]>

Exemplos
O exemplo a seguir mostra o uso de <![CDATA[...]]> para impedir que o analisador XML falhe ao analisar um arquivo .wsf: <?XML version=1.0" ?> <job> <script language=VBScript> <![CDATA[ Rem & eh um caractere reservado da linguagem XML WScript.Echo Ol & Mundo! ]]> </script> </job>

15

Objetos do WSH

Objetos do WSH
Um script do WSH pode fazer uso de qualquer objeto COM registrado na mquina em que estiver sendo executado, sendo que ele prprio fornece alguns objetos intrnsecos que oferecem funcionalidades interessantes. So eles:

Objeto Wscript
O objeto Wscript o principal objeto fornecido pelo WSH. Atravs dele podem ser instanciados todos os demais objetos do WSH (WshShell, WshNetwork, WshShortcut, etc.) utilizando o mtodo CreateObject(). Alm disso, o objeto Wscript fornece mtodos e propriedades relacionados ao prprio script.
Palavra-Chave ProgID CLSID Propriedades Application Arguments BuildVersion FullName Interactive Fornece a interface IDispatch para o objeto Wscript. Argumentos passados na linha de comando. Retorna a build version do arquivo executvel do WSH. Caminho completo para o executvel WSH. Se True, o script ser executado em modo interativo, caso False, o script ser executado em segundo plano. Nome amigvel do objeto Wscript (propriedade padro). Nome da pasta onde reside o executvel do WSH. Caminho completo para o script que est sendo executado pelo WSH. Nome do arquivo de script que est sendo executado pelo WSH. Retorna o fluxo de erro padro. Retorna o fluxo de entrada padro. Retorna o fluxo de sada padro. Especifica o tempo mximo em que o script poder ser executado. Uma string contendo a verso do WSH. Cria e estabelece uma conexo com um objeto. Disconecta um objeto previamente conectado. Exibe uma caixa de mensagem. Retorna um objeto de automao de arquivo. Termina a execuo do script com um cdigo de erro especfico. Interrompe a execuo do script durante um perodo de tempo determinado. N/A. 60254CA2-953b-11CF-8C96-00AA00B8708C.

Name Path ScriptFullName ScriptName StdErr StdIn StdOut TimeOut Version Mtodos CreateObject DisconnectObject Echo GetObject Quit Sleep 16

Objetos do WSH

Propriedades do objeto Wscript Application


Fornece a interface IDispatch para o objeto Wscript. Utilizado para se fazer referncia a uma instncia do objeto Wscript.
Set objWscript = Wscript.Application

Arguments
Fornece uma coleo de objetos WshArguments; permite recuperar argumentos passados para um script do WSH.
Set objArgs = Wscript.Arguments

Exemplo
Rem Exibe todos os argumentos da linha de comando: Set objArgs = Wscript.Arguments For I = 0 to objArgs.Count - 1 Wscript.Echo objArgs(I) Next

BuildVersion
Retorna a build version do arquivo executvel do WSH (cscript.exe ou wscript.exe) utilizado para executar o script.
lngBuildVersion = Wscript.BuildVersion

Exemplo
Rem Exibe a build version do arquivo wscript.exe: lngBuildVersion = Wscript.BuildVersion Wscript.Echo lngBuildVersion

FullName
Fornece uma string contendo o caminho completo para o executvel do WSH.
strFullName = Wscript.FullName

Exemplo
Rem Exibe o caminho completo para o Wscript.exe: strFullName = Wscript.FullName Wscript.Echo strFullName

Interactive
Especifica se o script ser executado em modo interativo (True), permitindo interao com o usurio, ou em segundo plano (False). Em segundo plano, mtodos como Echo, InputBox ou MsgBox no funcionaro.
Wscript.Interactive = True|False

Exemplo
Rem Exibir a frase Modo Interativo numa caixa de mensagem, pois a propriedade Interactive foi definida como True: Wscript.Interactive = True Wscript.Echo Modo Interativo

17

Objetos do WSH

Name
Fornece uma string contendo o nome amigvel do objeto WScript. Essa a propriedade padro.
strName = Wscript.Name

Exemplo
Rem Exibe o nome amigvel do objeto Wscript: strName = Wscript.Name Wscript.Echo strName

Path
Fornece uma string contendo o nome da pasta onde o executvel do WSH reside.
strPath = Wscript.Path

Exemplo
strPath = Wscript.Path Wscript.Echo strPath

ScriptFullName
Fornece o caminho completo para o script que est sendo executado pelo WSH.
strScriptFullName = Wscript.ScriptFullName

Exemplo
strScriptFullName = Wscript.ScriptFullName Wscript.Echo strScriptFullName

ScriptName
Fornece o nome do arquivo de script que est sendo executado pelo WSH.
strScriptName = Wscript.ScriptName

Exemplo
Rem Exibe o nome do script: strScriptName = Wscript.ScriptName Wscript.Echo strScriptName

StdErr
Retorna um objeto TextStream, que permite escrever no fluxo de erro padro. Pode ser utilizado apenas quando o executvel do WSH o cscript.exe.
Set objStdErr = Wscript.StdErr

StdIn
Retorna um objeto TextStream, que permite ler texto a partir do fluxo de entrada padro. Pode ser utilizado apenas quando o executvel do WSH o cscript.exe.
Set objStdIn = Wscript.StdIn

18

Objetos do WSH

StdErr
Retorna um objeto TextStream, que permite escrever no fluxo de sada padro. Pode ser utilizado apenas quando o executvel do WSH o cscript.exe.
Set objStdOut = Wscript.StdOut

TimeOut
Especifica o tempo mximo (em segundos) que um script ter para ser executado. Quando esse limite de tempo for atingido, o script suspender automaticamente sua execuo.
Wscript.TimeOut = lngSegundos

Version
Fornece uma string com a verso do Windows Script que est sendo executado.
strVerso = Wscript.Version

Mtodos do objeto Wscript ConnectObject


Relaciona um evento de um objeto a uma rotina dentro do script que ser executada quando da ocorrncia desse evento.
Wscript.ConnectObject obj [,prefixo])

Parmetro obj prefixo

Descrio Nome do objeto, definido previamente pela utilizao do mtodo CreateObject(). Prefixo que, concatenado ao caractere _ e ao nome do evento gerado pelo objeto, forma o nome de um procedimento dentro do script que ser chamado quando o evento ocorrer.

Exemplo
Rem Cria uma instncia do objeto MeuObjeto e relaciona o evento OnBegin rotina Evento_OnBegin: Set obj = Wscript.CreateObject(MeuObjeto) Wscript.ConnectObject obj, Evento Sub Evento_OnBegin Wscript.Echo Um objeto MeuObjeto foi inicializado! End Sub

CreateObject
Define um objeto e estabelece uma conexo com ele. Muitos objetos (como o WshShell, o WshNetwork, etc.) dependem diretamente da sua utilizao para serem instanciados. Substitui a tag <object> da XML.
Set obj = Wscript.CreateObject(progID [,prefixo])

19

Objetos do WSH Parmetro progID prefixo Descrio Tipo do objeto a ser definido. Chama um procedimento dentro do script cujo nome formado por prefixo mais o caractere _, mais o nome de um evento gerado pelo objeto.

Exemplos
Rem Criando um objeto chamado WshShell: Dim WshShell Set WshShell = Wscript.CreateObject(Wscript.Shell)

DisconnectObject
Disconecta um objeto previamente conectado.
Wscript.DisconnectObject obj

Echo
Exibe uma caixa de mensagem informativa na tela.
Wscript.Echo msg

Exemplo
Rem Exibe uma caixa de mensagem com os dizeres WSH quente!: Wscript.Echo WSH quente!

GetObject
Retorna um objeto de automao de um arquivo. Pode ser usado para ler, alterar ou inserir dados em arquivos que aceitem a automao OLE, tais como documentos do Word, planilhas do Excel ou bancos de dados do Access. Nestes casos, o mtodo GetObject() primeiro chama o aplicativo associado ao formato do arquivo.
Set obj = GetObject(arquivo, [, progID][, prefixo])

Parmetro arquivo progID prefix Exemplo

Descrio Arquivo de onde ser retornado o objeto de automao. String contendo o tipo do objeto a ser retornado. Semelhante ao parmetro de mesmo nome do mtodo CreateObject().

Rem Abre um arquivo do Microsoft Excel chamado exemplo.xls: dim obj Set obj = GetObject(C:\exemplo.xls)

Quit
Encerra a execuo do script com o cdigo de erro correspondente.
Wscript.Quit [intCodigoDeErro]

Parmetro

Descrio

intCodigoDeErro Valor ser retornado no final da execuo do processo. Caso omitido, Quit retornar 0. 20

Objetos do WSH

Sleep
Interrompe a execuo do script durante um determinado perodo de tempo.
Wscript.Sleep perodo

Parmetro perodo Exemplo

Descrio Perodo de tempo (em milissegundos) em que a execuo do script estar suspensa.

Rem A execuo do script ser suspensa por dez segundos: Wscript.Echo Script inicializado! Wscript.Sleep 10000 Wscript.Echo Script finalizado!

Objeto WshArguments
O objeto WshArguments retorna uma coleo contendo todos os argumentos passados para um script do WSH. No explicitamente acessado, sendo instanciado quando se faz uso da propriedade Arguments dos objetos Wscript ou WshShortcut.
Palavra-Chave ProgID CLSID Propriedades Item Count lenght Matriz contendo os argumentos passados na linha de comando para o script. Nmero de argumentos da linha de comando. Nmero de argumentos da linha de comando (JScript). N/A. 60254CA4-953b-11CF-8C96-00AA00B8708C.

Propriedades do objeto WshArguments Item


A propriedade Item a propriedade padro do objeto WshArguments. uma matriz que contm os argumentos passados na linha de comando para o script, indexados a partir de 0 (ou seja, o primeiro item tem ndice 0, o segundo tem ndice 1 e assim por diante).
Set objArgs = Wscript.Arguments

strArgs = objArgs(ndice)

Exemplo
Rem Recupera o segundo argumento passado para o script na linha de comando: Set objArgs = Wscript.Arguments strArgs = objArgs(1) Wscript.Echo strArgs

21

Objetos do WSH

Count
Retorna o nmero de argumentos passados para o script na linha de comando.
Set objArgs = Wscript.Arguments

intArgs = objArgs.Count

lenght
A propriedade lenght em tudo semelhante propriedade Count. Usada para efeitos de compatibilidade com a linguagem JScript.

Objeto WshShell
O objeto WshShell permite que os scripts do WSH interajam diretamente com o sistema operacional.
Palavra-Chave ProgID CLSID Propriedades Environment Retorna um objeto WshEnvironment. SpecialFolders Fornece acesso s pastas especiais do Windows. Mtodos AppActivate Ativa a janela de um aplicativo. CreateShortcut Cria e retorna um objeto WshShortcut ou WshURLShortcut. ExpandEnvironmentStrings Expande uma varivel de ambiente do tipo PROCESS e retorna a string correspondente. LogEvent Salva informaes no log do Windows NT ou no arquivo WSH.log. Popup Exibe uma caixa de mensagem. RegDelete Exclui uma chave ou valor do registro do Windows. RegRead L uma chave ou valor do registro do Windows. RegWrite Escreve chaves ou valores no registro do Windows. Run Cria um novo processo que executa um programa do DOS ou do Windows. SendKeys Envia uma tecla ou conjunto de teclas para o sistema operacional. Wscript.Shell. F935DC22-1CF0-11d0-ADB9-00C04FD58A0B.

22

Objetos do WSH

Propriedades do objeto WshShell Environment


Retorna um objeto WshEnvironment. O tipo do objeto retornado, no ambiente NT, pode ser SYSTEM, USER, VOLATILE ou PROCESS. No ambiente Windows 9x, apenas o tipo PROCESS suportado.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objEnvironment = WshShell.Environment([strTipo])

strVar = objEnvironment(strVariavelDoAmbiente)

Parmetro strTipo

Descrio Tipo do objeto retornado. Pode ser SYSTEM, USER, VOLATILE ou PROCESS no Windows NT e apenas PROCESS no Windows 9x. Retornar SYSTEM no Windows NT e PROCESS no Windows 9x, caso no tenha sido especificado. Significado

As principais variveis de ambiente so:


Nome NUMBER_OF_PROCESSORS Nmero de processadores. PROCESSOR_ARCHITECTURE Tipo do processador. PROCESSOR_IDENTIFIER ID do processador da mquina. PROCESSOR_LEVEL Nvel do processador da mquina. PROCESSOR_REVISION Verso do processador. OS Sistema operacional. COMSPEC Executvel para a linha de comando. HOMEDRIVE Drive local primrio; na maioria das vezes C:\. HOMEPATH Diretrio padro para os usurios. PATH Varivel PATH (a mesma encontrada no arquivo Autoexec.bat). PATHEXT Extenses de arquivos executveis (.com, .exe, .bat, etc.). PROMPT Prompt da linha de comando. SYSTEMDRIVE Drive local onde se encontra a pasta do sistema. SYSTEMROOT Pasta do sistema. WINDIR Semelhante a SYSTEMROOT. TMP Pasta onde so armazenados os arquivos temporrios. TEMP Semelhante a TMP. Exemplo
Rem Obtm o nome do Sistema Operacional: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objEnvironment = WshShell.Environment(SYSTEM) strVar = objEnvironment(OS) Wscript.Echo strVar

23

Objetos do WSH

SpecialFolders
Fornece um objeto, o WshSpecialFolders, atravs do qual possvel obter-se a localizao de pastas especiais do Windows, como a pasta Desktop, por exemplo.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

strVar = WshShell.SpecialFolders(strNomeDaPasta)

Parmetro

Descrio

strNomeDaPasta Nome de uma das pastas especiais do Windows. Pastas Especiais do Windows: AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUsersStartup Desktop Favorites Fonts MyDocuments NetHood PrintHood Programs Recent SentTo StartMenu Startup Templates Exemplo
Rem Retorna o caminho completo para a pasta Meus Documentos do usurio atual: Set WshShell = Wscript.CreateObject(Wscript.Shell) strVar = WshShell.SpecialFolders(MyDocuments) Wscript.Echo strVar

Mtodos do objeto WshShell AppActivate


Ativa a janela de um aplicativo em execuo.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.AppActivate strTtulo

Parmetro strTtulo Exemplo

Descrio Nome que aparece na barra de ttulo do aplicativo sendo executado.

Rem Escreve Ol Mundo! no Notepad: Set WshShell = CreateObject(WScript.Shell) WshShell.Run notepad WScript.Sleep 200 WshShell.AppActivate Notepad WScript.Sleep 200 WshShell.SendKeys Ol Mundo! WScript.Sleep 2000

24

Objetos do WSH

CreateShortcut
Retorna dois tipos de objeto: um objeto WshShortcut para um atalho comum ou um objeto WshURLShortcut para um atalho que aponta para uma URL.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

Parmetro strNomeDoAtalho

Descrio Nome do atalho a ser criado na rea de trabalho do usurio ou em outra localizao. Se a extenso for .lnk, ser criado um objeto WshShortcut. Se for .url, ser criado um objeto WshURLShortcut.

ExpandEnvironmentStrings
Expande uma varivel de ambiente do tipo PROCESS.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

strVar = WshShell.ExpandEnvironmentStrings(string)

Parmetro string Exemplo

Descrio Uma string representando uma varivel de ambiente contida entre dois caracteres de percentagem (%).

Rem Exibe o nome do sistema operacional: Set WshShell = Wscript.CreateObject(Wscript.Shell) strVar = WshShell.ExpandEnvironmentStrings(%OS%) Wscript.Echo strVar

LogEvent
Salva informaes no log do Windows NT ou no arquivo WSH.log (quando o script for executado no Windows 9x).
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.LogEvent intTipo, strMsg [,strAlvo]

Parmetro intTipo 0 1 2 4 8 16 strMsg strAlvo

Descrio Um inteiro representando o tipo (status) do evento ocorrido. SUCESS ERROR WARNING INFORMATION AUDIT_SUCESS AUDIT_FAILURE Uma mensagem descrevendo o evento ocorrido. Nome do sistema onde o evento ser salvo. Se nenhum valor for especificado, o WSH assumir o sistema local. Vlido apenas para o Windows NT.

25

Objetos do WSH

Popup
Mostra uma caixa de mensagem na tela do computador. Bastante semelhante funo MsgBox do VBscript.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

intBoto = WshShell.Popup(strMsg [,intSegundos] [,strTtulo] [,intTipo] )

Parmetro strMsg intSegundos strTtulo intTipo

Descrio Mensagem a ser apresentada na caixa de mensagem. Tempo em que a caixa de mensagem ficar na tela antes de ser automaticamente fechada. Texto da barra de ttulo da caixa de mensagem. Se omitido, ser exibido Windows Script Host. Valor obtido pela combinao (soma) dos valores de constantes referentes aos tipos de botes e de cones e que determinam a aparncia da caixa de mensagem. Boto OK. Botes OK e Cancelar. Botes Abortar, Repetir e Ignorar. Botes Sim, No e Cancelar. Botes Sim e No. Botes Repetir e Cancelar. Exibe um X dentro de um crculo vermelho. Significa a ocorrncia de um erro. Exibe um ponto de interrogao. Normalmente usado para perguntas. Exibe um ponto de exclamao. Normalmente usado para advertncias. Exibe a letra I. Usado quando a caixa de mensagem traz informaes para o usurio.

Botes 0 1 2 3 4 5 cones 16 32 48 64

O mtodo Popup sempre retorna um inteiro, representando o boto que foi clicado. Abaixo, uma lista dos valores que podem ser retornados pelo mtodo:
Valores 1 2 3 4 5 6 7 Botes OK. Cancelar. Abortar. Repetir. Ignorar. Sim. No.

26

Objetos do WSH

RegDelete
Exclui uma chave ou valor do registro do Windows.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.RegDelete strVar

Parmetro strVar

Descrio O valor ou chave do registro a ser excludo. O mtodo RegDelete entende que se o parmetro passado terminar com um caractere \, dever excluir uma chave, caso contrrio excluir um valor.

Exemplo
Rem Exclui o valor Y da chave X e depois a prpria chave X de HKEY_LOCAL_MACHINE\Software: Set WshShell = Wscript.CreateObject(Wscript.Shell) WshShell.RegDelete HKLM\Software\X\Y WshShell.RegDelete HKLM\Software\X\

Abaixo, as denominaes abreviadas e completas das chavesraiz do registro do Windows:


Abreviao HKCU HKLM HKCR Chaves-Raiz HKEY_CURRENT_USER. HKEY_LOCAL_MACHINE. HKEY_CLASSES_ROOT. HKEY_USERS HKEY_CURRENT_CONFIG

Esses valores das chaves-raiz servem tambm para os mtodos RegRead e RegWrite, que veremos logo a seguir.

RegRead
L dados de uma chave ou valor do registro do Windows. Tem uma limitao: s capaz de ler dados dos tipos REG_SZ, REG_EXPAND_SZ, REG_DWORD, REG_BINARY e REG_MULTI_SZ. Se for outro o tipo do dado a ser lido, RegRead retornar DISP_E_TYPEMISMATCH.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.RegRead strVar

Parmetro strVar

Descrio O valor ou chave do registro a ser lido. O mtodo RegRead entende que se o parmetro passado terminar com um caractere \, dever ler o dado de uma chave, caso contrrio ler um valor.

Exemplo
Rem L o valor Y da chave X e depois l a prpria chave X de HKEY_LOCAL_MACHINE\Software: Set WshShell = Wscript.CreateObject(Wscript.Shell) WshShell.RegRead HKLM\Software\X\Y WshShell.RegRead HKLM\Software\X\

27

Objetos do WSH

RegWrite
Com o mtodo RegWrite, possvel para um script do WSH escrever dados em chaves ou valores do registro.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.RegWrite strVar, strDado [,strTipo]

Parmetro strVar

Descrio O valor ou chave do registro onde se vai escrever um dado. O mtodo RegWrite, como os anteriores, entende que se o parmetro passado terminar com um caractere \, dever escrever em uma chave, caso contrrio ir escrever um valor. Dado a ser escrito. Tipo do dado a ser escrito. Pode ser REG_SZ, REG_EXPAND_SZ, REG_DWORD e REG_BINARY. Se tentar utilizar outro tipo, ser retornado E_INVALIDARG.

strDado strTipo

Exemplo
Rem Escreve WSH no valor Y da chave X e depois na prpria chave X de HKEY_LOCAL_MACHINE\Software: Set WshShell = Wscript.CreateObject(Wscript.Shell) WshShell.RegWrite HKLM\Software\X\Y, WSH WshShell.RegWrite HKLM\Software\X\, WSH

Run
Cria um novo processo que executa um arquivo executvel (.exe, .com, .bat, etc.).
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.Run strComando [,intEstiloDeJanela] [,strAguardaRetorno]

Parmetro

Descrio

strComando Caminho para o executvel. intEstiloDeJanela Estilo da janela do executvel durante sua execuo pelo script. 0 Esconde a janela e ativa uma outra janela. 1 Ativa e exibe uma janela. Se a janela for minimizada ou maximizada, o sistema restaurar seu tamanho e posio originais. Uma aplicao deve utilizar essa opo quando estiver exibindo uma janela pela primeira vez. 2 Exibe a janela minimizada. 3 Exibe a janela maximizada. 4 Exibe a janela em sua posio e tamanho mais recentemente definidos. 5 Exibe a janela em sua posio e tamanho atuais. 6 Minimiza a janela especificada e ativa a prxima janela.

28

Objetos do WSH Exibe a janela minimizada, mantendo-a como janela ativa. 8 Exibe a janela em seu estado atual, mantendo-a como janela ativa. 9 Ativa e exibe uma janela. Se a janela for minimizada ou maximizada, o sistema restaurar seu tamanho e posio originais. Uma aplicao deve utilizar essa opo quando estiver restaurando uma janela minimizada. 10 Configura a exibio da janela de acordo com o programa que iniciou a aplicao. strAguardaRetorno Se no especificado ou False, retornar imediatamente ao script com um cdigo de erro zero. Caso True, retornar qualquer cdigo de erro da aplicao que estiver sendo executada. Exemplo
Rem Inicia o Notepad: Set WshShell = Wscript.CreateObject(WScript.Shell) WshShell.Run notepad

SendKeys
Envia um caractere ou uma seqncia de caracteres (string) para o Windows, como se as teclas tivessem sido pressionadas no teclado.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

WshShell.SendKeys string

Parmetro string

Descrio Caractere ou seqncia de caracteres que devem ser enviados para o Windows. Para repetir uma seqncia vrias vezes, utilize a forma {string nmero de repeties}. Por exemplo, {R 10} enviaria o caractere R dez vezes.

Alguns caracteres especiais, como a tecla de espao ou a tecla Enter, por exemplo, que no so exibidos quando suas teclas correspondentes so pressionadas, necessitam de uma maneira especial para poderem ser utilizados pelo mtodo SendKeys. Essa forma especial, na maioria dos casos, consiste em colocar o cdigo delas entre chaves ({}).
Caracteres Especiais Cdigo BACKSPACE BREAK CAPS LOCK DELETE END ENTER ESC HELP HOME {BACKSPACE}, {BS} ou {BKSP} {BREAK} {CAPSLOCK} {DELETE} ou {DEL} {END} {ENTER} ou ~ {ESC} {HELP} {HOME} 29

Objetos do WSH INSERT NUM LOCK PAGE DOWN PAGE UP PRINT SCREEN SCROLL LOCK SETA P/ BAIXO SETA P/ DIREITA SETA P/ ESQUERDA SETA P/ CIMA TAB F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 SHIFT CTRL ALT {INSERT} ou {INS} {NUMLOCK} {PGDN} {PGUP} {PRTSC} {SCROLLLOCK} {DOWN} {RIGHT} {LEFT} {UP} {TAB} {F1} {F2} {F3} {F4} {F5} {F6} {F7} {F8} {F9} {F10} {F11} {F12} + ^ %

Os caracteres de soma (+), percentagem (%), acento circunflexo (^), parnteses (( )) e til (~) tambm precisam estar entre chaves para poderem ser utilizados pelo mtodo SendKeys.
Exemplo
Rem Escreve Ol Mundo! no Notepad: Set WshShell = CreateObject(WScript.Shell) WshShell.Run notepad WScript.Sleep 200 WshShell.AppActivate Notepad WScript.Sleep 200 WshShell.SendKeys Ol Mundo! WScript.Sleep 2000

30

Objetos do WSH

Objeto WshNetwork
O objeto WshNetwork permite aos scripts do WSH acessarem os recursos de rede do Windows.
Palavra-Chave ProgID CLSID Propriedades ComputerName UserDomain UserName Mtodos AddPrinterConnection Mapeia uma impressora remota para um nome de recurso local. AddWindowsPrinterConnection Adiciona uma conexo de impressora ao Windows. EnumNetworkDrives Enumera os drives de rede atualmente mapeados. EnumPrinterConnections Enumera os mapeamentos de impressoras de rede atuais. MapNetworkDrive Mapeia um compartilhamento com um recurso local. RemoveNetworkDrive Remove um mapeamento de rede. RemovePrinterConnectionRemove um mapeamento para uma impressora. SetDefaultPrinter Determina uma impressora como sendo a impressora padro. Uma string contendo o nome do computador. Uma string contendo o nome do domnio do usurio. Uma string contendo o nome do usurio. Wscript.Network. F935DC26-1CF0-11d0-ADB9-00C04FD58A0B.

Propriedades do objeto WshNetwork ComputerName


Fornece uma string contendo o nome do computador onde o script est sendo executado.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

strNomeComputador = WshNetwork.ComputerName

Exemplo
Rem Obtm o nome do computador: Set WshNetwork = Wscript.CreateObject(Wscript.Network) strComputerName = WshNetwork.ComputerName Wscript.Echo strComputerName

31

Objetos do WSH

UserDomain
Fornece uma string contendo o nome do domnio onde est definida a conta do usurio atualmente conectado.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

strUserDomain = WshNetwork.UserDomain

Exemplo
Rem Obtm o nome do domnio: Set WshNetwork = Wscript.CreateObject(Wscript.Network) strUserDomain = WshNetwork.UserDomain Wscript.Echo strUserDomain

UserName
Fornece uma string contendo o nome do usurio atualmente conectado mquina.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

strUserName = WshNetwork.UserName

Exemplo
Rem Obtm o nome do usurio atual: Set WshNetwork = Wscript.CreateObject(Wscript.Network) strUserName = WshNetwork.UserName Wscript.Echo strUserName

Mtodos do objeto WshNetwork AddPrinterConnection


Mapeia uma impressora remota para um recurso local do tipo LPT1:.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

WshNetwork.AddPrinterConnection strRecursoLocal, strImpressoraRemota

Parmetro strRecursoLocal

Descrio

Nome do recurso local para o qual ser mapeada a impressora. Exemplo: LPT1:. strImpressoraRemota Caminho para a impressora remota, do tipo \\nomedoservidor\nomedaimpressoracompartilhada. Exemplo
Rem Mapeia a impressora Y no servidor X para o recurso local LPT3: Set WshNetwork = Wscript.CreateObject(Wscript.Network) WshNetwork.AddPrinterConnection LPT3:, \\X\Y

32

Objetos do WSH

AddWindowsPrinterConnection
Adiciona uma conexo de impressora ao Windows.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

WshNetwork.AddWindowsPrinterConnection strImpressora, strDriver [,strPortaDeImpressora]

Parmetro strImpressora

Descrio

Caminho para a impressora remota, do tipo \\nomedoservidor\nomedaimpressoracompartilhada. strDriver Driver utilizado pela impressora. S poder ser usado quando o script for executado no Windows 9x. No Windows NT/2000 ser ignorado pelo WSH. strPortaDeImpressoraPorta a ser utilizada pela impressora. A porta padro a LPT1:. Tambm s pode ser utilizado no Windows 9x, sendo ignorado no Windows NT/2000. Exemplo
Rem Adiciona a impressora Y localizada no servidor X ao Windows: Set WshNetwork = Wscript.CreateObject(Wscript.Network) WshNetwork..AddWindowsPrinterConnection \\X\Y

EnumNetworkDrives
Enumera todos os mapeamentos de rede da mquina em uma matriz, instanciando um objeto WshCollection.
Set WshNetwork = Wscript.CreateObject(Wscript.Network) Set objDrives = WshNetwork.EnumNetworkDrives

EnumPrinterConnections
Enumera os mapeamentos de impressoras da mquina em uma matriz, instanciando um objeto WshCollection.
Set WshNetwork = Wscript.CreateObject(Wscript.Network) Set objImpressoras = WshNetwork.EnumPrinterConnections

MapNetworkDrive
Mapeia um compartilhamento em um servidor remoto para um recurso local, por exemplo, D:.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

WshNetwork.MapNetworkDrive strRecursoLocal, strCompartilhamento [,fAtualizaPerfil] [,strUsurio] [,strSenha]

33

Objetos do WSH Parmetro strRecursoLocal Descrio

Recurso local (unidade de disco de rede) para o qual o compartilhamento ser mapeado. strCompartilhamento Nome do compartilhamento, do tipo \\nomedoservidor\pastacompartilhada, a ser mapeado. fAtualizaPerfil Se True, salva o mapeamento no perfil do usurio. strUsurio Nome do usurio que se quer utilizar para fazer o mapeamento (caso no seja o usurio atualmente conectado). strSenha Senha do usurio que se quer utilizar para fazer o mapeamento (caso no seja o usurio atualmente conectado). Exemplo
Rem Faz o mapeamento do compartilhamento Y no servidor X para a unidade de disco de rede Z:: Set WshNetwork = Wscript.CreateObject(Wscript.Network) WshNetwork.MapNetworkDrive Z:, \\X\Y

RemoveNetworkDrive
Remove um mapeamento.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

WshNetwork.RemoveNetworkDrive strUnidadeDeDisco [,fForado]

Parmetro

Descrio

strUnidadeDeDisco Unidade de disco de rede utilizada pelo mapeamento que se pretende desfazer. fForado Se True, desfaz o mapeamento independentemente dele estar ou no sendo utilizado no momento. Exemplo
Rem Desfaz o mapeamento de rede do exemplo anterior: Set WshNetwork = Wscript.CreateObject(Wscript.Network) WshNetwork.RemoveNetworkDrive Z:

RemovePrinterConnection
Semelhante ao mtodo RemoveNetworkDrive, o mtodo RemovePrinterConnection remove um mapeamento feito para uma impressora remota.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

WshNetwork.RemovePrinterConnection strImpressora

Parmetro Exemplo

Descrio

strImpressora Impressora cujo mapeamento se pretende desfazer.


Rem Desfaz o mapeamento para a impressora em LPT1:: Set WshNetwork = Wscript.CreateObject(Wscript.Network) WshNetwork.RemovePrinterConnection LPT1:

34

Objetos do WSH

SetDefaultPrinter
Define uma impressora como sendo a impressora padro do Windows.
Set WshNetwork = Wscript.CreateObject(Wscript.Network)

WshNetwork.SetDefaultPrinter strImpressora

Parmetro

Descrio

strImpressora Nome da impressora que se quer definir como a impressora padro do Windows. Note que apenas nomes de impressora, no nomes de recursos locais tais como LPT1:, so aceitos como argumento. Exemplo
Rem Define a impressora \\X\Y como a impressora padro do Windows: Set WshNetwork = Wscript.CreateObject(Wscript.Network) WshNetwork.SetDefaultPrinter \\X\Y

Objeto WshCollection
O objeto WshCollection no acessado explicitamente. instanciado quando da utilizao dos mtodos EnumNetworkDrives e EnumPrinterConnections do objeto WshNetwork.
Palavra-Chave ProgID CLSID Propriedades Item Count lenght Matriz contendo os elementos enumerados. O nmero de elementos enumerados. O nmero de elementos enumerados (JScript). N/A. F935DC24-1CF0-11d0-ADB9-00C04FD58A0B.

Propriedades do objeto WshCollection Item


a propriedade padro do objeto WshCollection. uma matriz que contm os elementos enumerados, indexados a partir de 0 (ou seja, o primeiro item tem ndice 0, o segundo tem ndice 1 e assim por diante).
Set WshNetwork = Wscript.CreateObject(Wscript.Network) Set objEnum = WshNetwork.EnumNetworkDrives ou Set objEnum = WshNetwork.EnumPrinterConnections

strItem = objEnum (ndice)

35

Objetos do WSH

Count
Fornece o nmero de elementos enumerados.
Set WshNetwork = Wscript.CreateObject(Wscript.Network) Set objEnum = WshNetwork.EnumNetworkDrives ou Set objEnum = WshNetwork.EnumPrinterConnections

intItens = objEnum.Count

lenght
A propriedade lenght em tudo semelhante propriedade Count. Usada para efeitos de compatibilidade com a linguagem JScript.

Objeto WshEnvironment
O objeto WshEnvironment, assim como o WshCollection, no explicitamente acessado. Para usar suas trs propriedades e seu nico mtodo, em primeiro lugar preciso instanci-lo utilizando a propriedade Environment do objeto WshShell.
Palavra-Chave ProgID CLSID Propriedades Item Count lenght Mtodo Remove Remove uma varivel de ambiente. Atribui ou obtm o valor de uma varivel de ambiente. O nmero de elementos enumerados. O nmero de elementos enumerados (JScript). Descrio N/A. N/A.

Propriedades do objeto WshEnvironment Item


a propriedade padro do objeto WshEnvironment. Atravs dela possvel atribuir ou obter o valor de uma varivel de ambiente. O uso da palavra Item opcional.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objEnvironment = WshShell.Environment([strTipo])

strVar = objEnvironment.Item(strVariavelDoAmbiente)

Parmetro strTipo

Descrio Tipo do objeto retornado. Pode ser SYSTEM, USER, VOLATILE ou PROCESS no Windows NT e apenas PROCESS no Windows 9x. Retornar SYSTEM no Windows NT e PROCESS no Windows 9x, caso no seja especificado.

36

Objetos do WSH

As principais variveis de ambiente so:


Nome Significado NUMBER_OF_PROCESSORS Nmero de processadores. PROCESSOR_ARCHITECTURE Tipo do processador. PROCESSOR_IDENTIFIER ID do processador da mquina. PROCESSOR_LEVEL Nvel do processador da mquina. PROCESSOR_REVISION Verso do processador. OS Sistema operacional. COMSPEC Executvel para a linha de comando. HOMEDRIVE Drive local primrio; normalmente C:\. HOMEPATH Diretrio padro para os usurios. PATH Varivel PATH (a mesma encontrada no arquivo Autoexec.bat). PATHEXT Extenses de arquivos executveis (.com, .exe, .bat, etc.). PROMPT Prompt da linha de comando. SYSTEMDRIVE Drive local onde encontra-se a pasta de sistema. SYSTEMROOT Pasta do sistema. WINDIR Semelhante a SYSTEMROOT. TMP Pasta onde so armazenados os arquivos temporrios. TEMP Semelhante a TMP. Exemplo
Rem Obtm o nome do Sistema Operacional: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objEnvironment = WshShell.Environment(SYSTEM) strVar = objEnvironment.Item(OS) Wscript.echo strVar

Count
Fornece o nmero de elementos enumerados.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objEnvironment = WshShell.Environment([strTipo])

intVar = objEnvironment.Count

lenght
A propriedade lenght em tudo semelhante propriedade Count. Usada para compatibilidade com a linguagem JScript.

Mtodo do WshEnvironment Remove


Exclui uma varivel de ambiente.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objEnvironment = WshShell.Environment(VOLATILE)

objEnvironment.Remove strVarivelDeAmbiente

37

Objetos do WSH

Objeto WshShortcut
O objeto WshShortcut no explicitamente acessado. Para poder trabalhar com ele, necessrio instanci-lo usando o mtodo CreateShortcut() do objeto WshShell. O objeto WshShortcut permite a criao e a manipulao de atalhos na rea de trabalho do usurio.
Palavra-Chave ProgID CLSID Propriedades Arguments Description FullName HotKey IconLocation TargetPath WindowsStyle WorkingDirectory Mtodos Save Salva um atalho. Argumentos passados para o atalho. Uma descrio do atalho. Uma string contendo o caminho completo para o atalho. Uma tecla ou combinao de teclas que aciona o atalho. A localizao do cone de um atalho. O arquivo alvo do atalho. O estilo da janela do atalho. O diretrio de trabalho de um atalho. N/A. F935DC28-1CF0-11d0-ADB9-00C04FD58A0B.

Propriedades do objeto WshShortcut Arguments


Retorna um objeto WshArguments, contendo uma coleo de argumentos passados para o atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho) Set objArgs = objShortcut.Arguments

Exemplo
Rem Exibe todos os argumentos passados para o atalho criado para o Notepad: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(c::\notepad.lnk) Set objArgs = objShortcut..Arguments For I = 0 to objArgs.Count - 1 Wscript.Echo objArgs(I) Next

Description
Fornece uma descrio do atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objShortcut.Description = string

38

Objetos do WSH

FullName
Fornece uma string contendo o caminho completo para o atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

strFullName = objShortcut.FullName

HotKey
Associa uma tecla ou combinao de teclas para acionar um atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objShortcut.HotKey = strHotKey

Exemplo
Rem Associa as teclas Ctrl, Alt e N ao atalho criado para o Notepad: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(c::\notepad.lnk) objShortcut.Hotkey = ALT + CTRL + N

IconLocation
Fornece a localizao do cone de um atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objShortcut.IconLocation = strCaminhoDocone

TargetPath
Fornece o caminho para o arquivo alvo do atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objShortcut.TargetPath = strAlvo

Exemplo
Rem Define o caminho para o executvel do Notepad: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(c::\notepad.lnk) objShortcut.TargetPath = c:\winnt\notepad.exe

WindowStyle
Fornece o estilo de janela de um atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objShortcut.WindowStyle = intEstiloDaJanela

39

Objetos do WSH

Os valores possveis para intEstiloDaJanela so:


Estilos de Janela 1 3 1 Exemplo
Rem Determina que o Notepad seja iniciado com a janela minimizada: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(c::\notepad.lnk) objShortcut.WindowStyle = 7

Descrio Ativa e exibe a janela como do tipo Normal. Ativa e exibe a janela maximizada. Minimiza a janela e exibe a prxima janela.

WorkingDirectory
Fornece a pasta de trabalho do atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objShortcut.WorkingDirectory = strPastaDeTrabalho

Mtodo do objeto WshShortcut Save


Salva o atalho na localizao especificada no argumento do mtodo CreateShortcut() do objeto WshShell.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(strNomeAtalho)

objShortcut.Save

Exemplo
Rem Salva um atalho para o Notepad na unidade C: Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objShortcut = WshShell.CreateShortcut(c::\notepad.lnk) objShortcut.TargetPath = c:\winnt\notepad.exe objShortcut.WindowStyle = 1 objShortcut.Description = Atalho para o Notepad! objShortcut.WorkingDirectory = c:\winnt objShortcut.Save

Objeto WshSpecialFolders
O objeto WshSpecialFolders permite obter o caminho para as pastas especiais do Windows. instanciado quando da utilizao da propriedade SpecialFolders do objeto WshShell.
Palavra-Chave ProgID CLSID Propriedades Item Count lenght 40 Matriz de elementos contendo o caminho completo para as pastas especiais do Windows. O nmero de elementos enumerados. O nmero de elementos enumerados (JScript). N/A. N/A.

Objetos do WSH

Propriedades do objeto WshSpecialFolders Item


A propriedade Item a propriedade padro do objeto WshSpecialFolders. uma matriz de elementos que contm o caminho completo para as pastas especiais do Windows. Se a pasta no existir, NULL ser retornado. O uso da palavra reservada Item opcional, o que significa dizer desnecessrio.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

strVar = WshShell.SpecialFolders.Item(strNomeDaPasta)

Parmetro strNomeDaPasta

Descrio Especifica o nome de uma das pastas especiais do Windows.

Count
Fornece o nmero de elementos enumerados.
Set WshShell = Wscript.CreateObject(Wscript.Shell)

intVar = WshShell.SpecialFolders.Count

lenght
A propriedade lenght em tudo semelhante propriedade Count. Usada para efeitos de compatibilidade com a linguagem JScript.

Objeto WshURLShortcut
O objeto WshURLShortcut tambm instanciado a partir da utilizao do mtodo CreateShortcut() do objeto WshShell. Permite criar e manipular atalhos para URLs.
Palavra-Chave ProgID CLSID Propriedades FullName TargetPath Mtodos Save Salva um atalho. Uma string contendo o caminho completo para o atalho. A URL alvo do atalho. Descrio N/A. N/A.

41

Objetos do WSH

Propriedades do objeto WshURLShortcut FullName


Fornece uma string contendo o caminho completo para o atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objURLShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

strFullName = objURLShortcut.FullName

TargetPath
Fornece o caminho para a URL alvo do atalho.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objURLShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objURLShortcut.TargetPath = strAlvo

Mtodo do objeto WshURLShortcut Save


Salva o atalho na localizao especificada no argumento do mtodo CreateShortcut() do objeto WshShell.
Set WshShell = Wscript.CreateObject(Wscript.Shell) Set objURLShortcut = WshShell.CreateShortcut(strNomeDoAtalho)

objURLShortcut.Save

42

Objetos do WSH

Objeto Dictionary
O objeto Dictionary no um objeto intrnseco ao WSH, mas pode ser bastante til em diversas situaes. O objeto Dictionary permite armazenar pares nome/valor (referenciados como chave e item, respectivamente) em uma matriz. Cada item associado a uma nica chave. Sintaxe para a instanciao do objeto:
Set obj = CreateObject(Scripting.Dictionary)

No exemplo abaixo criado um objeto Dictionary chamado frutas, ao qual adiciona-se chaves e valores. Ao final, o script exibir uma caixa de mensagem com o item contido na chave d.
Exemplo
Dim frutas Set frutas = CreateObject(Scripting.Dictionary) frutas.Add a, Laranja frutas.Add b, Ma frutas.Add c, Morango frutas.Add d, Pssego Wscript.Echo A fruta contida na chave d : & frutas.item(d)

Propriedade CompareMode Count Item Key Mtodos Add Exists Items Keys Remove RemoveAll Adiciona um par chave/item ao objeto Dictionary. Booleano. Retornar True se a chave especificada existir. Retorna uma matriz contendo todos os itens de um objeto Dictionary. Retorna uma matriz contendo todas as chaves de um objeto Dictionary. Remove um par chave/item de um objeto Dictionary. Remove todos os pares chave/item de um objeto Dictionary. Define ou retorna o modo utilizado na comparao de strings. Retorna o nmero de itens em um objeto Dictionary. Define ou retorna um item para uma chave especificada. Define ou retorna o valor de uma chave especificada.

43

Objeto Dictionary

CompareMode
A propriedade CompareMode define ou retorna o modo utilizado na comparao de strings em um objeto Dictionary. Disponvel somente no VBScript.
Set obj = CreateObject(Scripting.Dictionary)

obj.CompareMode [=compara]

Argumento compara vbBinaryCompare=0 vbTextCompare=1

Descrio Modo de comparao usado por funes como StrComp. Comparao binria. Comparao textual.

Count
A propriedade Count retorna o nmero de itens em um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary) obj.Count

Item
A propriedade Item define ou retorna um item para uma chave especificada em um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.Item(chave)[=novoitem]

Argumento chave novoitem

Descrio Chaveassociadaaoitemqueestiversendolidoouadicionado. Novo valor associado chave. Usado somente com objeto Dictionary.

Key
A propriedade Key define ou retorna o valor de uma chave em um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.Key (chave) = novachave

Argumento chave novachave

Descrio Chave existente. Novo valor da chave.

Add
O mtodo Add adiciona um par chave/item a um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.Add chave, item

Argumento chave item 44

Descrio Chave associada ao item que estiver sendo adicionado. Item a ser adicionado.

Objeto Dictionary

Exists
O mtodo Exists retornar True se a chave especificada existir no objeto Dictionary; caso contrrio, retornar False.
Set obj = CreateObject(Scripting.Dictionary)

obj.Exists (chave)

Argumento chave

Descrio Chave a ser pesquisada no objeto Dictionary.

Items
O mtodo Items retorna uma matriz contendo todos os itens de um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.Items

Keys
O mtodo Keys retorna uma matriz contendo todas as chaves de um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.Keys

Remove
O mtodo Remove remove um par chave/item de um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.Remove (chave)

Argumento chave

Descrio Chave a ser removida do objeto Dictionary.

RemoveAll
O mtodo RemoveAll remove todos os pares chave/item de um objeto Dictionary.
Set obj = CreateObject(Scripting.Dictionary)

obj.RemoveAll

45

FileSystemObject

FileSystemObject
O FileSystemObject, ou simplesmente FSO, est contido na biblioteca scrrun.dll. O FSO permite ao desenvolvedor interagir com o sistema de arquivos do Windows, inclusive fornecendo outros objetos e colees para tarefas especficas, tais como listar os drives da mquina ou copiar o contedo de uma pasta para outra localizao.
Objetos FileSystemObject Drive File Folder TextStream Colees Drives Files Folders Uma lista de todos os drives da mquina. Uma lista dos arquivos contidos em uma pasta. Uma lista das pastas contidas em outra pasta ou na raiz de um disco. Objeto principal do FSO. Tem de ser instanciado antes de qualquer outro. Fornece acesso s propriedades dos drives da mquina. Fornece propriedades e mtodos para manipulao de arquivos. Fornece propriedades e mtodos para manipulao de pastas. Permite acessar (criar, ler e escrever) arquivos de texto.

Com o FSO voc poder: desenvolver pginas ASP e criar scripts do WSH. O primeiro passo antes de utilizar as propriedades, mtodos, objetos e colees fornecidos pelo FSO instanciar o objeto principal, o FileSystemObject, da seguinte forma:
Set fso = CreateObject(Scripting.FileSystemObject)

Vamos ver ento o que o objeto principal, o FileSytemObject, tem a nos oferecer.
Propriedade Drives Mtodos BuildPath CopyFile CopyFolder CreateFolder CreateTextFile DeleteFile DeleteFolder DriveExists FileExists Anexa um nome a um caminho existente. Copia um arquivo para um local especificado. Copia uma pasta para um local especificado. Cria uma pasta. Cria um arquivo de texto. Exclui um arquivo. Exclui uma pasta. Retornar True se o drive especificado existir. Retornar True se o arquivo especificado existir. Retorna uma coleo Drives.

46

FileSystemObject FolderExists Retornar True se a pasta especificada existir. GetAbsolutePathName Retorna o caminho completo para a pasta atual. GetBaseName Retorna o nome de um arquivo sem a extenso. GetDrive Retorna um objeto Drive. GetDriveName Retorna o nome de um drive. GetExtensionName Retorna a extenso de um arquivo. GetFile Retorna um objeto File. GetFileName Retorna o nome do arquivo em um caminho especificado. GetFolder Retorna um objeto Folder. GetParentFolderName Retorna a pasta onde est contida a ltima pasta ou arquivo de um caminho. GetSpecialFolder Retorna o caminho para uma pasta especial do Windows. GetTempName Retorna um nome de arquivo temporrio. MoveFile Move um arquivo para outra localizao. MoveFolder Move uma pasta e seu contedo para outra localizao. OpenTextFile Abre um arquivo de texto.

Drives
Retorna uma coleo Drives onde esto contidos todos os drives da mquina.
Set fso =CreateObject(Scripting.FileSystemObject) Set myDrives = fso.Drives

Exemplo
Rem Exibe todos os drives da mquina: Set fso = CreateObject(Scripting.FileSystemObject) Set myDrives = fso.Drives For Each drive in myDrives S = S + drive + \ + chr(10) Next Wscript.Echo S

BuildPath
Anexa um nome a um caminho existente.
Set fso =CreateObject(Scripting.FileSystemObject)

novocaminho = fso.BuildPath(caminho, nome)

Parmetro caminho nome Exemplo

Descrio Caminho ao final do qual se quer adicionar um nome. Nome que se quer adicionar ao caminho existente.

Rem Adiciona o nome de arquivo x.txt ao caminho c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) novocaminho = fso.BuildPath(c:\windows, x.txt) Wscript.Echo novocaminho

47

FileSystemObject

CopyFile
Copia um ou mais arquivos para um local especificado.
Set fso = CreateObject(Scripting.FileSystemObject)

fso.CopyFile origem, destino [,fSubstituir]

Parmetro origem

Descrio Caminho completo para o(s) arquivo(s) a ser(em) copiado(s). Caracteres curinga (*) podem ser usados no lugar do nome dos arquivos. Nova localizao do(s) arquivo(s). Se True, substituir os arquivos existentes na nova localizao que tenham o mesmo nome dos arquivos que esto sendo copiados.

destino fSubstituir

Exemplo
Rem Copia o arquivo c:\x.txt para a pasta c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) fso.CopyFile c:\x.txt, c:\windows\

CopyFolder
Copia uma pasta para um local especificado.
Set fso = CreateObject(Scripting.FileSystemObject)

fso.CopyFolder origem, destino [,fSubstituir]

Parmetro origem

Descrio Caminho completo para a pasta a ser copiada. Caracteres curinga (*) podem ser usados no lugar do nome da pasta. Nova localizao da pasta. Se True, substituir os arquivos homnimos caso haja uma pasta na nova localizao com o mesmo nome da pasta a ser copiada.

destino fSubstituir

Exemplo
Rem Copia a pasta c:\teste\ para a pasta c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) fso.CopyFolder c:\teste, c:\windows\

CreateFolder
Cria uma pasta na localizao especificada, retornando um objeto Folder.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta)

Parmetro strNovaPasta Exemplo

Descrio Caminho completo para a nova pasta a ser criada. Ser retornado um erro caso a pasta j exista.

Rem Cria a pasta novapasta em c:\: Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(c:\novapasta)

48

FileSystemObject

CreateTextFile
Cria um novo arquivo de texto na localizao especificada, retornando um objeto TextStream.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateTextFile(strArquivoTexto [,fSubstituir] [,unicode])

Parmetro strArquivoTexto fSubstituir

Descrio Caminho completo para o arquivo de texto a ser criado. Se True, substituir um arquivo homnimo pelo arquivo que estiver sendo criado. Se False, o arquivo original ser mantido. Se True, um arquivo Unicode ser criado. Se False ou omitido, ser criado um arquivo ASCII.

unicode Exemplo

Rem Cria um arquivo chamado x.txt em c:\: Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateTextFile(c:\x.txt, true)

DeleteFile
Exclui um arquivo.
Set fso = CreateObject(Scripting.FileSystemObject)

fso.DeleteFile strArquivo [,fForado]

Parmetro strArquivo fForado Exemplo

Descrio Caminho para o arquivo a ser excludo. Booleano. Esse parmetro ter de ser True se o arquivo a ser excludo for somente de leitura.

Rem Exclui o arquivo x.txt criado anteriormente: Set fso = CreateObject(Scripting.FileSystemObject) fso.DeleteFile c:\x.txt, true

DeleteFolder
Exclui uma pasta.
Set fso = CreateObject(Scripting.FileSystemObject)

fso.DeleteFolder strPasta [,fForado]

Parmetro strPasta fForado Exemplo

Descrio Caminho para a pasta a ser excluda. Booleano. Esse parmetro ter de ser True se a pasta a ser excluda for somente de leitura.

Rem Exclui a pasta novapasta criada anteriormente: Set fso = CreateObject(Scripting.FileSystemObject) fso.DeleteFolder c:\novapasta

49

FileSystemObject

DriveExists
Retornar True se o drive especificado existir.
Set fso = CreateObject(Scripting.FileSystemObject)

fRetorno = fso.DriveExists(strDrive)

Parmetro strDrive Exemplo

Descrio Nome do drive.

Rem Verifica se o drive z:\ existe: Set fso = CreateObject(Scripting.FileSystemObject) fRetorno = fso.DriveExists(z:) if fRetorno = True then Wscript.Echo O drive Z:\ existe! else Wscript.Echo O drive Z:\ no existe! end if

FileExists
Similar ao mtodo DriveExists(), o mtodo FileExists() tambm retornar True se o arquivo especificado existir.
Set fso = CreateObject(Scripting.FileSystemObject)

fRetorno = fso.FileExists(strArquivo)

Parmetro strArquivo Exemplo

Descrio Caminho completo para o arquivo cuja existncia se pretende averiguar.

Rem Verifica se o arquivo x.txt existe: Set fso = CreateObject(Scripting.FileSystemObject) fRetorno = fso.FileExists(c:\x.txt) if fRetorno = True then Wscript.Echo O arquivo existe! else Wscript.Echo O arquivo no existe! end if

FolderExists
Retornar True se a pasta especificada existir.
Set fso = CreateObject(Scripting.FileSystemObject)

fRetorno = fso.FileExists(strArquivo)

Parmetro strArquivo

Descrio Caminho completo para a pasta cuja existncia se pretende averiguar.

50

FileSystemObject Exemplo
Rem Verifica a pasta Windows existe: Set fso = CreateObject(Scripting.FileSystemObject) fRetorno = fso.FolderExists(c:\windows) if fRetorno = True then Wscript.Echo A pasta Windows existe! else Wscript.Echo A pasta Windows no existe! Provavelmente voc instalou o sistema em outra mquina. end if

GetAbsolutePathName
Retorna o caminho completo da pasta atual em relao a outra pasta.
Set fso = CreateObject(Scripting.FileSystemObject)

strCaminho = fso.GetAbsolutePathName(strEspecificao)

Parmetro

Descrio

strEspecificao Um pouco difcil de explicar com palavras. Observe o exemplo abaixo. Exemplo
Rem Partindo do princpio que a pasta atual Meus Documentos, observe o comportamento do mtodo GetAbsolutePathName: Set fso = CreateObject(Scripting.FileSystemObject) strCaminho = fso.GetAbsolutePathName(c:) Rem Vai exibibir c:\meus documentos Wscript.Echo strCaminho strCaminho = fso.GetAbsolutePathName(roberto) Wscript.Echo strCaminho Rem Vai exibir c:\meus documentos\roberto strCaminho = fso.GetAbsolutePathName(c:\\\) Wscript.Echo strCaminho Rem Vai exibir c:\

GetBaseName
Retorna o nome de um arquivo sem a extenso.
Set fso = CreateObject(Scripting.FileSystemObject)

strNomeDoArquivo = fso.GetBaseName(strCaminho)

Parmetro strCaminho Exemplo

Descrio Caminho completo para o arquivo.

Rem Retorna o nome do arquivo Notepad.exe: Set fso = CreateObject(Scripting.FileSystemObject) strNomeDoArquivo = fso.GetBaseName(c:\windows\notepad.exe) Wscrtpt.Echo strNomeDoArquivo

51

FileSystemObject

GetDrive
Retorna um objeto Drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

Parmetro strDrive

Descrio Uma denominao aceitvel para o drive. Pode ser uma letra, uma letra seguida de dois pontos, uma letra seguida de dois pontos e de uma barra invertida, ou um nome de compartilhamento.

GetDriveName
Retorna o nome do drive contido no caminho fornecido.
Set fso = CreateObject(Scripting.FileSystemObject)

strDrive = fso.GetDriveName(strCaminho)

Parmetro strCaminho

Descrio Um caminho na forma unidadededisco\pasta\arquivo. O mtodo retornar justamente a unidadededisco.

GetExtensionName
Similar ao mtodo GetBaseName(), s que ele retorna justamente a extenso de um arquivo.
Set fso = CreateObject(Scripting.FileSystemObject)

strExtDoArquivo = fso.GetExtensionName(strCaminho)

Exemplo
Rem Retorna a extenso do arquivo Notepad.exe: Set fso = CreateObject(Scripting.FileSystemObject) strExtDoArquivo = fso.GetExtensionName(c:\windows\notepad.exe) Wscript.Echo strExtDoArquivo

GetFile
Retorna um objeto File para um arquivo existente.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

Parmetro strArquivo

Descrio Caminho completo para o arquivo a ser retornado.

GetFileName
Retorna o nome do arquivo em um dado caminho.
Set fso = CreateObject(Scripting.FileSystemObject)

strNomeDoArquivo = fso.GetFileName(strCaminho)

Parmetro strCaminho

Descrio Caminho completo para o arquivo cujo nome se pretende obter.

52

FileSystemObject

GetFolder
Retorna um objeto Folder para uma pasta existente.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.GetFolder(strPasta)

Parmetro strPasta

Descrio Caminho completo para a pasta a ser retornada.

GetParentFolderName
Retorna a pasta onde est contida a ltima pasta ou arquivo de um caminho.
Set fso = CreateObject(Scripting.FileSystemObject)

strParentFolder = fso.GetParentFolderName(strCaminho)

Parmetro strCaminho Exemplo

Descrio Caminho completo para uma pasta ou arquivo.

Rem Retorna a pasta onde est contida a pasta System do Windows: Set fso = CreateObject(Scripting.FileSystemObject) strParentFolder = fso.GetParentFolderName(c:\windows\system) Wscript.Echo strParentFolder

GetSpecialFolder
Retorna o nome de uma pasta especial do Windows.
Set fso = CreateObject(Scripting.FileSystemObject)

strSpecialFolder = fso.GetSpecialFolder(intTipo)

Parmetro intTipo 0 1

Descrio Pasta onde esto instalados os arquivos do Windows (normalmente, C:\Windows ou C:\Winnt). Pasta onde esto os arquivos de sistema do Windows (normalmente, C:\Windows\System ou C:\Winnt\System). Pasta onde so armazenados os arquivos temporrios.

GetTempName
Gera um nome aleatrio de arquivo temporrio que pode ser usado pelo mtodo CreateTextFile() em tarefas que exijam a utilizao de arquivos temporrios.
Set fso = CreateObject(Scripting.FileSystemObject)

ArquivoTemporrio = fso.GetTempName

Exemplo
Rem Gera um nome aleatrio de arquivo temporrio para ser utilizado pelo mtodo CreateTextFile(): Set fso = CreateObject(Scripting.FileSystemObject) ArquivoTemporrio = fso.GetTempName Set objFile = fso.CreateTextFile(ArquivoTemporrio) Wscript.Echo fso.GetFileName(ArquivoTemporrio)

53

FileSystemObject

MoveFile
Move um ou vrios arquivos para outra localizao. Semelhante a CopyFile, no entanto o(s) arquivo(s) deixa(m) de existir na origem. Os arquivos s sero movidos de um volume para o outro se o sistema operacional permitir.
Set fso = CreateObject(Scripting.FileSystemObject)

fso.MoveFile origem, destino

Parmetro origem

Descrio Caminho completo para o(s) arquivo(s) a ser(em) movidos(s). Caracteres curinga (*) podem ser usados no lugar do nome dos arquivos. Nova localizao do(s) arquivo(s).

destino Exemplo

Rem Move o arquivo c:\x.txt para a pasta c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) fso.MoveFile c:\x.txt, c:\windows\

MoveFolder
Move uma pasta para outra localizao. Similar ao mtodo CopyFolder, no entanto a pasta deixa de existir na origem.
Set fso = CreateObject(Scripting.FileSystemObject)

fso.MoveFolder origem, destino

Parmetro origem

Descrio Caminho completo para a pasta a ser movida. Caracteres curinga (*) podem ser usados no lugar do nome da pasta. Nova localizao da pasta.

destino Exemplo

Rem Move a pasta c:\teste\ para a pasta c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) fso.MoveFolder c:\teste, c:\windows\

OpenTextFile
Abre um arquivo de texto e retorna um objeto TextStream.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

Parmetro strArquivo

Descrio Caminho completo para o arquivo de texto a ser aberto.

54

FileSystemObject intModoDeAbertura Indica o que poder ser feito com o arquivo depois de aberto. ForReading Somente leitura. ForWriting Escrita. ForAppending Dados sero anexados ao fim do arquivo. fCriarNovo Booleano. Indica se dever ser criado um novo arquivo caso strArquivo no exista. O padro False. intFormato Um dos trs valores TriState usados para definir o formato de abertura do arquivo. -2 TriStateUseDefault. Usa o padro do sistema para abrir o arquivo. -1 TriStateTrue. Abre o arquivo como Unicode. 0 TriStateFalse. Abre o arquivo como ASCII. Exemplo
Rem Abre o arquivo c:\x.txt para escrita: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForWriting, True)

Objeto Drive
O objeto Drive instanciado atravs da utilizao do mtodo GetDrive() do objeto FileSystemObject.
Propriedades AvailableSpace DriveLetter DriveType FileSystem FreeSpace IsReady Path RootFolder SerialNumber ShareName TotalSize VolumeName Descrio A quantidade de espao disponvel em um drive para o usurio. A letra que representa o drive. O tipo do drive. O sistema de arquivos em uso. A quantidade de espao livre no drive. Retornar True se o drive estiver pronto para ser usado. Caminho para um drive. Pasta raiz do drive. Nmero de identificao exclusiva do volume. Retorna o compartilhamento de rede para um drive especificado. A quantidade de espao em um drive. Define ou retorna o nome do volume.

Propriedades do objeto Drive AvailableSpace


Retorna a quantidade de espao disponvel para o usurio no drive especificado. Normalmente esse valor ser igual quele retornado pela propriedade FreeSpace.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

intEspao = objDrive.AvailableSpace

55

FileSystemObject

DriveLetter
Retorna a letra que representa um drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

strLetra = objDrive.DriveLetter

DriveType
Retorna um inteiro indicando o tipo do drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

intTipoDoDrive = objDrive.DriveType

Tipo 0 1 2 3 4 5

Descrio Desconhecido. Removvel (disquete). Fixo. Drive de Rede. Drive de CD-ROM. Disco de RAM.

FileSystem
Retorna o nome do sistema de arquivo em uso no volume. Os valores de retorno podem ser, tipicamente, FAT, NTFS e CDFS.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

strSistemaDeArquivo = objDrive.FileSystem

FreeSpace
Retorna a quantidade de espao livre num drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

intEspao = objDrive.FreeSpace

IsReady
Retornar True se o drive estiver pronto para operaes de entrada/sada. Caso contrrio retornar False. Especialmente til para trabalhar com disquetes e CDROM.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

fPronto = objDrive.IsReady

56

FileSystemObject

Path
Retorna o caminho para um drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

strCaminho = objDrive.Path

RootFolder
Especifica a pasta raiz de um drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

strPastaRaiz = objDrive.RootFolder

SerialNumber
Retorna um identificador decimal exclusivo para o volume.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

intID = objDrive.SerialNumber

ShareName
Retorna o compartilhamento de rede para um drive.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

strCompartilhamento = objDrive.ShareName

TotalSize
Retorna a quantidade total de espao em um drive, em bytes.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

intEspaoTotal = objDrive.TotalSize

VolumeName
Retorna ou atribui um nome a um volume.
Set fso = CreateObject(Scripting.FileSystemObject) Set objDrive = fso.GetDrive(strDrive)

strLetra = objDrive.VolumeName
ou

objDrive.VolumeName = strLetra

57

FileSystemObject

Objeto File
O objeto File instanciado atravs da utilizao do mtodo GetFile() do objeto FileSystemObject.
Propriedades Attributes DateCreated DateLastAcessed DateLastModified Drive Name ParentFolder Path ShortName ShortPath Size Type Mtodos Copy Delete Move OpenAsTextStream Descrio Obtm ou define atributos de um arquivo. Data da criao de um arquivo. Data em que um arquivo foi acessado pela ltima vez. Data em que um arquivo foi modificado pela ltima vez. Retorna a letra do drive onde o arquivo reside. Define ou retorna o nome do arquivo. Pasta onde o arquivo reside. Caminho completo para o arquivo. Nome do arquivo usando a conveno de nomenclatura do MS-DOS (8.3). Caminho completo para o arquivo usando a conveno de nomenclatura do MS-DOS. Tamanho do arquivo em bytes. Retorna informaes sobre o tipo do arquivo. Descrio Copia um arquivo para outra localizao. Exclui um arquivo. Move um arquivo para outra localizao. Abre um arquivo como sendo um fluxo de texto.

Propriedades do objeto File Attributes


Retorna ou define os atributos de um arquivo.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

intAtributos = objFile.Attributes
ou

objFile.Attributes = intAtributos

Parmetro 0 1 2 4 8 16 32 64 128

Descrio Arquivo normal. Nenhum atributo definido. Arquivo somente leitura. Arquivo oculto. Arquivo de sistema. Drive de disco. Pasta. Arquivo foi alterado desde o ltimo backup. Atalho. Arquivo comprimido.

58

FileSystemObject

DateCreated
Retorna a data e a hora da criao de um arquivo.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strData = objFile.DateCreated

DateLastAcessed
Retorna a data e a hora em que um arquivo foi acessado pela ltima vez.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strData = objFile.DateLastAcessed

DateLastModified
Retorna a data e a hora em que um arquivo foi modificado pela ltima vez.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strData = objFile.DateLastModified

Drive
Retorna a letra do drive onde o arquivo reside.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strLetraDoDrive = objFile.Drive

Name
Define ou obtm o nome de um arquivo.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strNome = objFile.Name objFile.Name = strNome

ParentFolder
Retorna a pasta onde o arquivo reside.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strPasta = objFile.ParentFolder

Path
Retorna o caminho completo para o arquivo.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strCaminho = objFile.Path

59

FileSystemObject

ShortName
Fornece o nome do arquivo usando a conveno de nomenclatura do MS-DOS (8.3).
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strNomeCurto = objFile.ShortName

ShortPath
Fornece o caminho completo para o arquivo usando a conveno de nomenclatura do MS-DOS (8.3).
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strNomeCurto = objFile.ShortPath

Size
Retorna o tamanho de um arquivo em bytes. Se quiser converter para megabytes, basta dividir o valor retornado por 1024.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

intTamanhoDoArquivo = objFile.Size

Type
Retorna informaes sobre o tipo do arquivo. Por exemplo, para um arquivo .txt, retornaria Text Document. Acredito que a propriedade obtenha essas associaes em HKEY_CLASSES_ROOT.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

strTipoDoArquivo = objFile.Type

Mtodos do objeto File Copy


Copia um arquivo para outra localizao.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

objFile.Copy destino [,fSubstituir]

Parmetro destino fSubstituir

Descrio Nova localizao do arquivo. Se True, substituir um arquivo existente na nova localizao que tenha o mesmo nome do arquivo que estiver sendo copiado.

60

FileSystemObject Exemplo
Rem Copia o arquivo c:\x.txt para a pasta c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(c:\x.txt) objFile.Copy c:\windows\

Delete
Exclui um arquivo.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

objFile.Delete [fForado]

Parmetro fForado Exemplo

Descrio Booleano. Dever ser True caso o arquivo a ser excludo seja somente leitura.

Rem Exclui o arquivo c:\x.txt: Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(c:\x.txt) objFile.Delete

Move
Move um arquivo para outra localizao.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo)

objFile.Move destino

Parmetro destino Exemplo

Descrio Nova localizao do arquivo.

Rem Move o arquivo c:\x.txt para a pasta c:\windows\: Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(c:\x.txt) objFile.Move c:\windows\

OpenAsTextStream
Abre um arquivo de texto e retorna um objeto TextStream.
Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(strArquivo) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set FluxoDetexto = objFile.OpenAsTextStream([intModoDeAbertura] [,intFormato])

61

FileSystemObject Parmetro Descrio

intModoDeAbertura Indica o que poder ser feito com o arquivo depois de aberto. ForReading Somente leitura. ForWriting Escrita. ForAppending Dados sero anexados no fim do arquivo. intFormato Um dos trs valores TriState usados para definir o formato de abertura do arquivo. -2 TriStateUseDefault. Usa o padro do sistema para abrir o arquivo. -1 TriStateTrue. Abre o arquivo como Unicode. 0 TriStateFalse. Abre o arquivo como ASCII. Exemplo
Rem Abre o arquivo c:\x.txt para escrita: Set fso = CreateObject(Scripting.FileSystemObject) Set objFile = fso.GetFile(c:\x.txt) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set FluxoDeTexto = objFile.OpenAsTextStream(ForWriting)

Objeto Folder
O objeto Folder instanciado quando so utilizados os mtodos CreateFolder() ou GetFolder() do objeto FileSystemObject.
Propriedades Attributes DateCreated DateLastAcessed DateLastModified Drive Files IsRootFolder Name ParentFolder Path ShortName ShortPath Size SubFolders Type Mtodos Copy Delete Move CreateTextFile 62 Descrio Obtm ou define atributos de uma pasta. Data da criao de uma pasta. Data em que a pasta foi acessada pela ltima vez. Data em que a pasta foi modificada pela ltima vez. Retorna a letra do drive onde a pasta reside. Retorna uma coleo de objetos File. Booleano. Determina se a pasta a pasta raiz do volume. Define ou retorna o nome da pasta. Pasta dentro da qual a pasta atual reside. Caminho completo para a pasta. Nome da pasta usando a conveno de nomenclatura do MS-DOS (8.3). Caminho completo para a pasta usando a conveno de nomenclatura do MS-DOS. Tamanho do conjunto de todos os arquivos e subpastas contidos dentro da pasta, em bytes. Retorna uma coleo de objetos Folder contidos na pasta. Retorna informaes sobre o tipo da pasta. Descrio Copia uma pasta para outra localizao. Exclui uma pasta. Move uma pasta para outra localizao. Cria um arquivo de texto e retorna um objeto TextStream.

FileSystemObject

Propriedades do objeto Folder Attributes


Define ou retorna os atributos de uma pasta. Semelhante propriedade de mesmo nome do objeto File. Alis, os objetos File e Folder compartilham muitas propriedades e mtodos.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

intAtributos = f.Attributes
ou

f.Attributes = intAtributos

Parmetro 0 1 2 4 8 16 32 64 128

Descrio Arquivo normal. Nenhum atributo definido. Arquivo somente leitura. Arquivo oculto. Arquivo de sistema. Drive de disco. Pasta. Arquivo foi alterado desde o ltimo backup. Atalho. Arquivo comprimido.

DateCreated
Retorna a data e a hora da criao de uma pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strData = f.DateCreated

DateLastAcessed
Retorna a data e a hora em que uma pasta foi acessada pela ltima vez.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strData = f.DateLastAcessed

63

FileSystemObject

DateLastModified
Retorna a data e a hora em que uma pasta foi modificada pela ltima vez.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strData = f.DateLastModified

Drive
Retorna a letra do drive onde a pasta reside.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strLetraDoDrive = f.Drive

Files
Retorna a coleo dos objetos File contidos na pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta) Set myFiles = f.Files

IsRootFolder
Retornar True se a pasta em questo for a pasta raiz de um volume; caso contrrio, retornar False.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

fRetorno = f.IsRootFolder

Name
Define ou obtm o nome de uma pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strNome = f.Name
ou

f.Name = strNome

64

FileSystemObject

ParentFolder
Retorna a pasta dentro da qual a pasta atual reside.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strPasta = f.ParentFolder

Path
Retorna o caminho completo para a pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strCaminho = f.Path

ShortName
Fornece o nome da pasta usando a conveno de nomenclatura do MS-DOS (8.3).
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strNomeCurto = f.ShortName

ShortPath
Fornece o caminho completo para a pasta usando a conveno de nomenclatura do MS-DOS (8.3).
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strNomeCurto = f.ShortPath

Size
Retorna o tamanho total, em bytes, do conjunto de arquivos e subpastas contidos na pasta. Como no caso da propriedade de mesmo nome do objeto File, se quiser converter para megabytes, basta dividir o valor retornado por 1024.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) Set f = fso.GetFolder(strPasta)

intTamanhoDaPasta = f.Size

65

FileSystemObject

SubFolders
Retorna a coleo Folders com todas as subpastas contidas na pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta) Set mySubFolders = f.SubFolders

Type
Retorna informaes sobre o tipo da pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

strTipoDaPasta = f.Type

Mtodos do objeto Folder Copy


Copia uma pasta para outra localizao.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

f.Copy destino [,fSubstituir]

Parmetro destino fSubstituir

Descrio Nova localizao da pasta. Se True, substituir todos os arquivos homnimos numa pasta na nova localizao que tenha o mesmo nome da pasta que estiver sendo copiada.

Delete
Exclui uma pasta.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

f.Delete [fForado]

Parmetro fForado

Descrio Booleano. Dever ser True caso a pasta a ser excluda seja somente leitura.

66

FileSystemObject

Move
Move uma pasta para outra localizao.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta)

f.Move destino

Parmetro destino

Descrio Nova localizao da pasta.

CreateTextFile
O mtodo CreateTextFile() semelhante ao mtodo de mesmo nome do objeto FileSytemObject.
Set fso = CreateObject(Scripting.FileSystemObject) Set f = fso.CreateFolder(strNovaPasta) ou Set f = fso.GetFolder(strPasta) Set ArquivoDeTexto = f.CreateTextFile(strArquivoTexto [,fSubstituir] [,unicode])

Parmetro strArquivoTexto fSubstituir

Descrio Nome do arquivo de texto. Se True, substituir um arquivo homnimo pelo arquivo que estiver sendo criado. Se False, o arquivo original ser mantido. Se True, um arquivo Unicode ser criado. Se False ou omitido, ser criado um arquivo ASCII.

unicode

67

FileSystemObject

Objeto TextStream
O objeto TextStream instanciado quando da utilizao de mtodos dos objetos FileSystemObject, File ou Folder que criam ou abrem arquivos de texto. Na descrio da sintaxe e nos exemplos dos mtodos e propriedades do objeto TextStream, utilizarei o mtodo OpenTextFile() do objeto FileSystemObject.
Propriedades AtEndOfLine Booleano. Determina se o final de uma linha foi atingido. AtEndOfStream Booleano. Determina se o final de um arquivo de texto foi atingido. Column Ponteiro para a coluna atual em um arquivo de texto. Line Ponteiro para a linha atual em um arquivo de texto. Mtodos Close Read Fecha um arquivo de texto. L um nmero especfico de caracteres em um arquivo de texto. ReadAll L todo o arquivo de texto. ReadLine L uma linha de um arquivo de texto. Skip Ignora um determinado nmero de caracteres quando lendo um arquivo de texto. SkipLine Ignora toda uma linha quando lendo um arquivo de texto. Write Escreve uma string num arquivo de texto. WriteLine Escreve uma string e uma quebra de linha. WriteBlankLines Escreve linhas em branco num arquivo de texto.

Propriedades do objeto TextStream AtEndOfLine


Retornar True se o final de uma linha num arquivo de texto que esteja sendo lido for atingido.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

fRetorno = f.AtEndOfLine

AtEndOfStream
Retornar True se o final de um arquivo de texto que esteja sendo lido for atingido.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

fRetorno = f.AtEndOfStream

68

FileSystemObject

Column
Retorna um ponteiro para a coluna atual em um arquivo de texto que esteja sendo lido.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

intColuna = f.Column

Line
Retorna um ponteiro para a linha atual em um arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

intLinha = f.Line

Mtodos do objeto TextStream Close


Fecha um arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

f.Close

Read
L um nmero especfico de caracteres em um arquivo de texto, retornando a string correspondente.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo, ForReading [,fCriarNovo] [,intFormato])

strRetorno = f.Read(intNmeroDeCaracteres)

Parmetro

Descrio

intNmeroDeCaracteres Nmero de caracteres a serem lidos do arquivo, a partir da posio atual. Exemplo
Rem L dez caracteres do arquivo c:\x.txt: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForReading) strRetorno = f.Read(10) f.Close Wscript.Echo strRetorno

69

FileSystemObject

ReadAll
L todo o arquivo de texto, retornando a string correspondente.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo, ForReading [,fCriarNovo] [,intFormato])

strRetorno = f.ReadAll

Exemplo
Rem L todo o arquivo c:\x.txt: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForReading) strRetorno = f.ReadAll f.Close Wscript.Echo strRetorno

ReadLine
L uma linha num arquivo de texto, a partir da linha atual, retornando a string correspondente e movendo o ponteiro para a prxima linha.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo, ForReading [,fCriarNovo] [,intFormato])

strRetorno = f.ReadLine

Exemplo
Rem L as quatro primeiras linhas do arquivo c:\x.txt: Dim i i=1 Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForReading) Do While f.AtEndOfStream <> True And i <= 4 strRetorno = strRetorno + f.ReadLine i = i+1 Loop f.close Wscript.Echo strRetorno

Skip
Ignora um determinado nmero de caracteres quando lendo um arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

f.Skip(intNmeroDeCaracteres)

70

FileSystemObject Parmetro intNmeroDeCaracteres Exemplo


Rem L cinco caracteres do arquivo c:\x.txt a partir do quarto caractere: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForReading) f.Skip(3) strRetorno = f.Read(5) f.Close Wscript.Echo strRetorno

Descrio Nmero de caracteres a serem ignorados, a partir da posio atual.

SkipLine
Ignora toda uma linha quando lendo um arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura] [,fCriarNovo] [,intFormato])

f.SkipLine

Exemplo
Rem L as trs primeiras linhas do arquivo c:\x.txt, a partir da segunda: Dim i i=1 Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForReading) f.SkipLine Do While f.AtEndOfStream <> True And i <= 3 strRetorno = strRetorno + f.ReadLine i = i+1 Loop f.close Wscript.Echo strRetorno

Write
Escreve uma string num arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo, ForWriting|ForAppending [,fCriarNovo] [,intFormato])

f.Write string

Exemplo
Rem Escreve Ol mundo! no arquivo c:\x.txt: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForWriting) f.Write Ol mundo! f.Close

71

FileSystemObject

WriteLine
Escreve uma string e uma quebra de linha num arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo, ForWriting|ForAppending [,fCriarNovo] [,intFormato])

f.WriteLine string

Parmetro string Exemplo

Descrio String a ser escrita no arquivo de texto.

Rem Escreve Ol mundo! no arquivo c:\x.txt: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForWriting) f.WriteLine Ol mundo! f.Close

WriteBlankLines
Escreve linhas em branco num arquivo de texto.
Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(strArquivo, ForWriting|ForAppending [,fCriarNovo] [,intFormato])

f.WriteBlankLines intNmeroDeLinhas

Parmetro

Descrio

intNmeroDeLinhas Nmero de linhas em branco a serem escritas no arquivo de texto. Exemplo


Rem Escreve trs linhas em branco no final do arquivo c:\x.txt: Set fso = CreateObject(Scripting.FileSystemObject) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set f = fso.OpenTextFile(c:\x.txt, ForAppending) f.WriteBlankLines 3 f.Close

72

Recursos Avanados

Recursos Avanados
Teoricamente, no h limites para aquilo que os scripts do WSH podem fazer dentro do ambiente Windows de 32 bits. Quaisquer recursos do sistema operacional, inclusive aqueles relacionados ao hardware, podem ser manipulados por um script do WSH, desde que voc saiba como acess-los. Nesta seo, farei uma breve explanao sobre as classes WIN32 e sobre a ADSI.

Classes WIN32
As classes WIN32 expandem enormemente as funcionalidade de scripts do WSH e de aplicaes que necessitam de acesso a recursos avanados do sistema operacional. A maneira mais simples de instanciar um objeto a partir de uma classe WIN32 :
Set objWIN32 = GetObject(WinMgmts::Win32_Classe[=ItemRef])

Exemplo
Rem Instancia um objeto da classe Win32_Service fazendo referncia ao servio NetLogon: dim obj Set obj = GetObject(WinMgmts::Win32_Service=NetLogon) Select Case obj.State Case Stopped obj.StartService msgbox O servio NetLogon foi ativado! Case Running msgbox O servio NetLogon j est ativo! Case Else msgbox O status atual do servio & obj.State End Select

As classes WIN32 dividem-se em quatro categorias, que por sua vez se compem-se de dezenas de classes com centenas de propriedades e mtodos a elas associados.
Categorias Descrio Computer System Hardware Classes que representam objetos relacionados ao hardware. Operating System Classes que representam objetos relacionados ao sistema operacional. Installed Applications Classes que representam objetos relacionados ao software instalado. WMI Service Management Classes utilizadas no gerenciamento do WMI (Windows Management Instrumentation).

Informaes completas sobre as classes WIN32, incluindo uma lista das classes disponveis com uma descrio detalhada de suas propriedades e mtodos, bem como sobre a tecnologia WMI, podem ser obtidas no site http:// msdn.microsoft.com/library/toc.asp?PP=/library/toc/psdk/ psdk6.xml&tocPath=psdk6.
73

Recursos Avanados

ADSI
Com o lanamento do Windows 2000, a Microsoft apresentou ao mundo sua nova implementao de servios de diretrio: o Active Directory. Servios de diretrio so servios que o sistema operacional de rede oferece para permitir a criao, excluso e alterao organizada e centralizada de objetos da rede, tais como usurios, grupos, computadores, etc. O Active Directory baseado nas especificaes da verso 3.0 do protocolo LDAP (Lightweight Directory Access Protocol). Os desenvolvedores de scripts podero manipular os objetos armazenados no diretrio atravs das Active Directory Service Interfaces (ADSI). Embora a ADSI tenha sido desenvolvida tendo o Active Directory em mente (o que compreensvel), tambm trabalha com outros provedores, a saber: Windows NT SAM, NDS e Netware 3.x.
Exemplo
Rem Retornando os usurios contidos no grupo global Domain Admins de um domno do Windows NT: Dim Grupo, Membro Set Grupo = GetObject(WinNT://Dominio/Domain Admins) For Each Membro in Grupo.Members Wscript.echo Membro.Name Next Rem Criando um usurio chamado joo em um diretrio do Active Directory e definindo a data de expirao da conta para o dia 1 de Rem janeiro de 2001: Dim ou, usuario Set ou = GetObject(LDAP://OU=X,DC=Microsoft,DC=COM) Set usuario = ou.Create(user, cn=Joao) usuario.Put samAccountName, joao usuario.AccountExpirationDate = 01/01/2001 usuario.SetInfo

No site http://www.microsoft.com/adsi voc poder obter maiores informaes sobre a ADSI, bem como baixar a verso do produto para o Windows NT. Poder obter tambm a documentao da ADSI em formato HTMLHelp.

74

Recursos Avanados

Scripts de Logon
A utilizao mais evidente e comum para scripts do WSH, sem sombra de dvidas, em scripts de logon. Scripts de logon so arquivos executveis (.exe, .com, .bat, etc.) que so executados assim que um usurio validado por um domnio do Windows NT ou do Windows 2000. Normalmente, os scripts de logon so armazenados no compartilhamento NETLOGON de um controlador de domnio. Existem, no entanto, alguns problemas relacionados utilizao do WSH para essa finalidade. Em primeiro lugar, apenas as verses de 32 bits do Windows podem executar scripts do WSH. Isso exclui clientes de rede utilizando o MS-DOS ou o Windows 3.11. Em segundo, o Windows NT e o Windows 95 no vm com o WSH instalado por padro. Por fim, s o Windows 2000 reconhece os arquivos do WSH (.vbs, .js, .wsf, etc.) como arquivos executveis. Assim, a menos que voc esteja numa rede onde todos os servidores e clientes utilizem o Windows 2000, dificilmente conseguir implantar scripts de logon integralmente desenvolvidos no WSH. Algumas sadas que poder adotar so as seguintes: Se sua rede tiver clientes MS-DOS e Windows 3.11, crie um arquivo .bat que execute um script de logon em separado para esses ambientes e o script WSH para os demais. Caso tenha mquinas utilizando o Windows 95 ou o Windows NT, verifique, utilizando o cdigo apropriado dentro de um script .bat, se os arquivos Wscript.exe e Cscript.exe existem. Caso no existam, utilize o mesmo script .bat para iniciar o programa de instalao do WSH, convenientemente localizado num compartilhamento da rede. Uma vez que somente os sistemas operacionais da famlia Windows 2000 vem os arquivos do WSH como autnticos executveis, para os outros ambientes (exceto o MS-DOS e o Windows 3.11, claro) voc dever usar algo como cscript caminhodoscript quando estiver configurando scripts de logon para uma conta de usurio num controlador de domnio Windows NT ou Windows 2000.

75

Recursos Avanados

Windows Script Components


Os componentes de script do Windows Script Components (WSC) so a maneira mais fcil de criar componentes COM para serem utilizados por pginas do Active Server Pages ou por scripts do WSH. Um arquivo do WSC nada mais que um arquivo texto com extenso .wsc que utiliza a XML juntamente com uma linguagem de script compatvel com a tecnologia ActiveX (como o VBScript e o JScript) para criar um componente de script reutilizvel. Para desenvolver um componente de script, basta um editor de texto simples como o Notepad. No entanto, no site http://msdn.microsoft.com/scripting possvel obter gratuitamente um wizard que auxilia no desenvolvimento de componentes de script do WSC. Para ser utilizado, um componente de script WSC necessita: do arquivo scrobj.dll (run-time do WSC) instalado; de quaisquer arquivos (executveis, bibliotecas, etc.) requeridos por objetos utilizados no desenvolvimento do componente; e que o arquivo .wsc seja registrado (para registr-lo, clique com o boto direito do mouse sobre o arquivo .wsc e escolha, no menu suspenso, a opo Register).

Para instanciar um objeto a partir de um componente de script, utilize a seguinte sintaxe:


Set obj = CreateObject(progID)

O progID definido pela atribuio de uma string varivel progID entre as tags <registation></registration>. Abaixo, o esqueleto tpico de um arquivo .wsc onde um componente de script est sendo difinido:
<?XML version=1.0"?> <component> <registration> description=DescrioDoComponente progid=progID version=VersoDoComponente classid=clsid </registration> <public> <property name=NomeDeUmaPropriedade/> <method name=NomeDeUmMtodo/> </public> <script language=VBScript> <![CDATA[ Function|Sub NomeDeUmMtodo([Parmetro1][,Parmetro2]...[,ParmetroN]) Cdigo do mtodo NomeDeUmMtodo End Function|End Sub ]]> </script> </component>

76

Recursos Avanados

Informaes mais completas sobre o WSC podem ser obtidas no site http://msdn.microsoft.com/scripting. Desse site tambm poder ser baixada a documentao completa do WSC, em um arquivo no formato HTMLHelp.

Criptografando Scripts do WSH


Voc sabe o que isso a embaixo?
#@~^DwEAAA==]:~A/1D+7+,ODkPsk tCd,+:,8DmxmK~UW,0bxCV~[KPCD$;k7W~E1)-a D6OJ=@#@&?nDP6/ W,,/ DlO+}4%n1YrjmMkwDrUocsbVn?zdD+hr(%+1YEb@#@&ZGUkY~sK.+C9k oP{P8SPwW.MkOr oP{~ BPsK.)wa+ NrxL~{P0@#@&j+DPW~{P0dGcr2+ P6Owk^+rm=w6cYaYr~~oKDba2+ Nk Lb@#@&0c.kOn~VCx0Jk+d~2@#@&W ;VG/ @#@&eFUAAA==^#~@

Trata-se do exemplo de utilizao do mtodo WriteBlankLines do objeto TextStream criptografado. No site http://msdn.microsoft.com/scripting voc poder obter, gratuitamente, o ScriptEncoder. O ScriptEncoder uma ferramenta simples de linha de comando que voc pode utilizar para criptografar scripts do WSH e arquivos ASP e HTML. A sintaxe para utilizar o ScriptEncoder a seguinte:
SCRENC [/s] [/f] [/xl] [/l strLinguagem ] [/e strExtenso] strArquivoOriginal strNovoArquivo

Opes /s /f /xl / l strLinguagem

Descrio Esta chave determina que o ScriptEncoder no deve fornecer nenhuma sada na tela. Esta chave determina que strArquivoOriginal deve ser sobrescrito por strNovoArquivo. Esta chave especifica que a diretiva @language do ASP no est no topo do arquivo. Determina qual a linguagem de script padro. No precisa ser utilizada com arquivos do WSH, pois a extenso do arquivo (.vbs ou .js) j determina por si s qual a linguagem de script padro. Associa a extenso do arquivo strArquivoOriginal com um tipo definido de arquivo. Arquivo a ser criptografado. Arquivo critpografado resultante. Salve seus arquivos .vbs com a extenso .vbe e os arquivos .js com a extenso .jse, para que o WSH saiba que so arquivos criptogrados.

/e strExtenso strArquivoOriginal strNovoArquivo

77

VBScript

VBScript
Introduo
O Visual Basic Scripting Edition (VBScript) uma linguagem de programao em grande parte compatvel com o Visual Basic que foi desenvolvida pela Microsoft visando sua utilizao, inicialmente, na Internet. No se trata de uma linguagem compilada, ou seja, no possvel gerar executveis a partir do VBScript. Com o VBScript voc pode: Desenvolver pginas do Active Server Pages; Embutir rotinas de programao em pginas HTML; e Criar scripts do WSH (que o que nos interessa).

Conforme j foi citado anteriormente, os scripts do WSH escritos em VBScript devem ser salvos com a extenso de arquivo .vbs. Isso instrui o WSH a chamar o mecanismo de scripting do VBScript para executar o script. De forma anloga, quem tem mais intimidade com o JScript deve salvar os scripts com a extenso de arquivo .js. No pretendo que este guia seja uma fonte de referncia completa sobre o VBScript, at porque essa no sua finalidade. Portanto, abordarei apenas o essencial para que o leitor seja capaz de implementar scripts do WSH realmente funcionais fazendo uso do VBScript como linguagem de programao.

Instrues condicionais
Como a quase totalidade das linguagens de programao, o VBScript faz uso intensivo de instrues condicionais. Instrues condicionais so aquelas em que um determinado fragmento de cdigo s ser executado caso uma expresso seja avaliada como sendo verdadeira. Para o leitor que j tiver alguma familiaridade com o Visual Basic, as instrues condicionais do VBScript so implementadas da mesma forma.

78

VBScript

If
A instruo If na sua forma mais simples tem a seguinte sintaxe:
If expresso then declarao

Quando mais de uma declarao for executada caso a expresso seja avaliada como verdadeira, usa-se:
If expresso then

Declarao1 Declarao2
...

DeclaraoN
End If

Instrues condicionais If podem ser aninhadas umas dentro das outras em vrios nveis. Quando aninhar instrues If, cuidado com as instrues de fechamento End If, que so uma causa comum de erros de tempo de execuo.

Else
A instruo Else permite que uma ou mais declaraes sejam executadas caso a expresso avaliada por If seja falsa.
If expresso then

Declarao1 Declarao2
...

DeclaraoN
Else

DeclaraoElse
End If

Uma variao da construo condicional If... Then... Else If... Then... ElseIf... Then... Else. No muito usual nem elegante a sua utilizao.
If expresso1 then

Declarao1 Declarao2
...

DeclaraoN
ElseIf expresso2 then

DeclaraoElseIf
Else

DeclaraoElse
End If

79

VBScript

Podem ser usados tantos ElseIf quantos o programador julgar necessrios.


Exemplos
Um exemplo de utilizao da construo condicional If... Then... Else: Dim X, Y X = InputBox(Entre um nmero:) If X<10 Then Y = O nmero que voc forneceu menor que 10! Else Y = O nmero que voc forneceu maior ou igual a 10! End If Wscript.Echo Y Um exemplo de utilizao de Ifs aninhados: Dim X, Y X = InputBox(Entre um nmero:) If X Mod 2=0 then If X<10 then Y=O nmero que voc forneceu par e menor que 10! Else Y=O nmero que voc forneceu par e maior ou igual a 10! End If Else If X<10 then Y=O nmero que voc forneceu mpar e menor que 10! Else Y=O nmero que voc forneceu mpar e maior que 10! End If End If Wscript.Echo Y

Select Case
Uma alternativa ao uso do ElseIf, que bem mais legvel e elegante, a instruo Select Case. A sintaxe para a instruo Select Case a seguinte:
Select Case varivel Case Valor1

Declarao 1
Case Valor2

Declarao2
Case Valor3

Declarao3
Case ValorN

DeclaraoN
Case Else

DeclaraoElse
End Select

80

VBScript Exemplo
Um exemplo de utilizao da instruo Select Case: Dim strEstado, strMsg strEstado=InputBox(Entre o nome do Estado em que voc nasceu:) Select Case strEstado Case Minas Gerais strMsg=Mineiros so sempre bem-vindos! Case So Paulo strMsg=Paulistas so sempre bem-vindos! Case Rio de Janeiro strMsg=Cariocas so sempre bem-vindos! Case Bahia strMsg=Baianos so sempre bem-vindos! Case Rio Grande do Sul strMsg=Gachos so sempre bem-vindos! Case Else strMsg=No importa de onde voc venha, ser sempre bem-vindo! End Select Wscript.Echo strMsg

Loops
Outro tipo de instruo bastante popular em praticamente todas as linguagens de programao (e o VBScript no foge regra) so os Loops. As instrues de Loop repetem a execuo de uma ou mais declaraes um determinado nmero de vezes.

For
A instruo For a instruo de loop mais usada.
For Varivel=ValorInicial To ValorFinal [Step step]

Declaraes
Next

A instruo opcional Step determina de quanto a varivel ser incrementada cada vez que o lao for executado.
Exemplos
Contando de 1 at 10 usando um lao For: Dim X, Y(9), strMsg For X=1 To 10 Y(X-1)=X strMsg = strMsg & chr(10) & Y(X-1) Next Wscript.Echo strMsg Contando os nmeros mpares de 1 at 25: Dim X, Y(25), strMsg For X=1 To 25 Step 2 Y(X-1)=X strMsg = strMsg & chr(10) & Y(X-1) Next Wscript.Echo strMsg

81

VBScript

While... Wend
A construo While... Wend utilizada quando no se tem certeza do nmero de vezes que o loop ser executado.
While Expresso

Declaraes
Wend

Como a expresso avaliada antes que o loop seja executado pela primeira vez, caso ela seja falsa, as declaraes no corpo do loop While... Wend podem nunca ser executadas.

Do... Loop
A construo Do... Loop pode ser implementada de vrias formas, como demonstrado a seguir:
Do While Expresso

Declaraes
Loop

Esta primeira forma ser executada enquanto a expresso avaliada for verdadeira.
Do

Declaraes
Loop While Expresso

Esta segunda forma em quase tudo semelhante anterior, s que executar pelo menos uma vez, mesmo que a expresso avaliada seja falsa logo na primeira iterao do lao.
Do Until Expresso

Declaraes
Loop

Funciona de maneira anloga construo Do While... Loop, s que as declaraes s sero executadas enquanto a expresso for falsa.
Do

Declaraes
Loop Until Expresso

semelhante construo Do... Loop While, s que as declaraes, aps serem executadas pelo menos uma vez, s continuaro a ser executadas caso a expresso avaliada seja falsa.

82

VBScript

Exit
A instruo Exit, atravs das suas variaes (Exit Do, Exit For), fora a sada prematura de um loop.
Exemplos
Um exemplo de Do While... Loop com Exit Do: Dim X, strMsg Do While X < 10 X = X+1 if X=7 then Else Loop Wscript.Echo strMsg End If

Exit Do strMsg = strMsg & chr(10) & Ol, mundo!

For Each
Um tipo de instruo de loop especial do VBScript a For Each. Permite enumerar todos os elementos de uma coleo.
For Each Elemento In Coleo

Declaraes
Next

Dentro do WSH, como j tivemos a oportunidade de ver, existem muitas colees e o For Each pode ser bastante til.

Sub-Rotinas e Funes
Assim como no seu irmo mais velho, o Visual Basic, a principal tarefa de programao no mbito do VBScript o desenvolvimento de sub-rotinas e funes.

Sub-Rotinas
Sub-rotinas so blocos de cdigo contidos entre as instrues Sub... End Sub. Podem ou no receber parmetros e no retornam valores. A sintaxe de uma sub-rotina :
Sub NomeDaSubRotina([Parmetro1], [Parmetro2],... [ParmetroN])

Declaraes
End Sub

Uma nota importante que os procedimentos Sub devem ser chamados dentro do cdigo VBScript sem os parnteses.
Exemplo
Sub Mensagem(strMensagem) Wscript.Echo strMensagem End Sub Dim strMsg strMsg=InputBox(Entre uma mensagem:) Mensagem strMsg.

83

VBScript

Funes
Funes so blocos de cdigo contidos dentro das instrues Function... End Function. Como as sub-rotinas, as funes podem ou no ter parmetros. A principal diferena entre elas que as funes retornam valores e devem ser chamadas no cdigo VBScript com os parnteses. A sintaxe para definio de uma funo :
Function NomeDaFuno([Parmetro1], [Parmetro2],... [ParmetroN])

Declaraes
End Function

Exemplo
Function Mensagem() Mensagem=InputBox(Entre uma mensagem:) End Function Wscript.Echo Mensagem()

Operadores
Uma das principais funcionalidades de uma linguagem de programao a disponibilizao de operadores, visto que so eles que permitem a construo de expresses. Os operadores fornecidos pelo VBScript so:
Operadores Significado + * / ^ = \ Mod And Or Xor Imp Eqv <> > < >= <= & Adio de duas ou mais expresses numricas ou concatenao de strings. Subtrao de uma expresso numrica de outra. Multiplicao de duas ou mais expresses numricas. Diviso de uma expresso numrica pela outra. Exponenciao. Igualdade. Diviso de inteiros sem parte fracionria. Retorna o resto da diviso entre dois nmeros inteiros. Retornar verdadeiro se ambos os valores utilizados forem verdadeiros. Retornar verdadeiro se pelo menos um dos valores utilizados for verdadeiro. Retornar verdadeiro se apenas um dos valores utilizados for verdadeiro. Implicao. Equivalncia. Diferente de. Maior que. Menor que. Maior ou igual a. Menor ou igual a. Concatenao de strings.

84

VBScript

Tipos de Dados
O VBScript, ao contrrio do Visual Basic, no permite a definio explcita do tipo de dado que uma varivel poder conter quando da sua declarao, ou seja, todas as variveis so declaradas obrigatoriamente como do tipo Variant. Entretanto, o VBScript suporta grande variedade de subtipos de dados e qual subtipo de dado ser atribudo a uma varivel algo que ser definido no contexto em que essa varivel estiver sendo utilizada ou pelo uso de funes de converso, tais como CInt(), CStr()ou CDate(), por exemplo.
Subtipo Prefixo Usual Boolean f, b ou boo Byte Integer int Long lng Single Descrio Valor lgico, que pode ser True ou False. Inteiro sem sinal entre 0 e 255. Inteiro com sinal entre 32.768 e 32.767. Inteiro com sinal entre 2.147.483.648 e 2.147.483.647. Nmero fracionrio de ponto flutuante entre 3,402823E38 e 1,401298E-45 para valores negativos e entre 1,401298E-45 e 3,402823E38 para valores positivos. Nmero fracionrio de ponto flutuante entre 4,94065645841247E-324 e 1,79769313486232E308 para valores negativos e entre 1,79769313486232E308 e 4,94065645841247E-324 para valores positivos. Valores monetrios. Valores de datas. Objeto. String (texto) de at aproximadamente dois bilhes de caracteres.

Double

dbl

Currency Date Object String

cur d obj str

Outras instrues do VBScript


Existem ainda algumas instrues que no mencionei e que so muito importantes:
Instrues Dim Option Explicit Erase Preserve Redim Set On Error Call Rem Significado Declara uma varivel. Utilize-a sempre, para no se perder em seu prprio cdigo. Faz com que todas as variveis sejam declaradas. Apaga o contedo de uma matriz. Copia o contedo de uma matriz dinmica para outra matriz dinmica que tenha sido redimensionada. Redimensiona uma matriz dinmica. Atribui um objeto a uma varivel. Usada em conjunto com Resume Next para o tratamento de erros. Chama um procedimento. Insere uma linha de comentrio. 85

VBScript

Funes, constantes e objetos do VBScript


O VBScript fornece inmeras funes e constantes e alguns objetos, tantos que seria necessrio um outro guia exclusivamente para enumer-los e descrev-los. Abaixo, os mais utilizados:
Funes Asc CBool CByte CDate CInt CStr Chr Date InputBox Retorna o cdigo ASCII de um caractere. Sintaxe: Asc(string). Converte seu parmetro para o subtipo Boolean. Sintaxe: CBool(expresso). Converte seu parmetro para o subtipo Byte. Sintaxe: CByte(expresso). Converte seu parmetro para o subtipo Date. Sintaxe: CDatel(expresso). Converte seu parmetro para o subtipo Integer. Sintaxe: CInt(expresso). Converte seu parmetro para o subtipo String. Sintaxe: CStr(expresso). Retorna o caractere correspondente a um determinado cdigo ASCII. Sintaxe: Chr(nmero). Retorna a data atual do sistema. Sintaxe: Date(). Exibe uma caixa de dilogo solicitando ao usurio a entrada de dados. Sintaxe: InputBox(Mensagem [,ttulo][,valor][,x][,y]). Retorna os caracteres x mais esquerda. Sintaxe: Left(string, x). Retorna o tamanho de uma string. Sintaxe: Len(string). Apresenta uma caixa de dilogo com informaes. Sintaxe: MsgBox(Mensagem[,definio][,ttulo]). Retorna a data e a hora atuais do sistema. Sintaxe: Now(). Retorna os caracteres x mais direita. Sintaxe: Right(string, x). Retorna a hora atual do sistema. Sintaxe: Time(). Elimina todos os espaos em branco antes e depois da string. Sintaxe: Trim(string). Declara um valor para uma varivel que ainda no foi inicializada. Elimina a atribuio de um objeto a uma varivel. Usada na atribuio de valores nulos a variveis. Usadas em expresses booleanas. Objeto utilizado no tratamento de erros. Objeto que permite executar uma expresso regular.

Left Len MsgBox Now Right Time Trim

Constantes/Literais Empty Nothing Null True/False Objetos Err RegExp

86

VBScript

Objeto Err
O objeto Err contm informaes sobre erros de tempo de execuo (run-time). Aceita os mtodos Raise e Clear para criar e desativar erros run-time. No necessrio criar uma instncia para objeto Err. No exemplo abaixo verificado o valor da propriedade Number e, se ela contiver um valor diferente de zero, exibir os detalhes numa caixa de mensagem.
Dim intNumeroDoErro, strDescDoErro On Error Resume Next Err.Raise 6 intNumeroDoErro = Err.number strDescDoErro = Err.description If intNumeroDoErro <> 0 Then Wscript.Echo Ocorreu um erro! Erro nmero & intNumeroDoErro & do tipo & strDescDoErro & . End If

Mtodos do objeto Err Clear


Define todas as propriedades de um objeto Err para os valores padro, por exemplo, definindo a propriedade Number como 0 (zero).
Err.Clear

Raise
Permite simular um erro de run-time.
Err.Raise (nmero [,fonte] [,descrio] [,arqhelp][,contexto])

Argumento nmero fonte descrio arqhelp contexto

Descrio Natureza do erro. Objeto ou aplicao que originalmente gerou o erro. Descrio do erro. Localizao do arquivo Help no qual a ajuda para esse erro pode ser encontrada. Identifica o tpico dentro do arquivo Help que fornece ajuda para o erro.

Propriedades do objeto Err Description


Define ou retorna uma string que descreve o erro.
Err.Description [ = string]

Number
Define ou retorna um valor numrico que identifica o erro.
Err.Number [ = nmerro]

87

VBScript

Source
Retorna ou define o nome do objeto ou da aplicao que originalmente gerou o erro.
Err.Source [=nomeaplic] Argumento nomeaplic Descrio Nome da aplicao.

HelpContext
Define ou retorna o nmero de contexto para um tpico no arquivo Help.
Err.HelpContext [=contextoID ] Argumento contextoID Descrio Identificador de um tpico de ajuda no arquivo Help.

HelpFile
Define ou retorna o path para um arquivo Help, que acionado quando o usurio clica no boto Help ou pressiona a tecla F1 na caixa de dilogo de uma mensagem de erro.
Err.HelpFile [=strCaminho] Argumento strCaminho Descrio Localizao do arquivo Help.

Objeto RegExp
O objeto RegExp usado para criar e executar uma expresso regular, a qual permite pesquisar uma seqncia de caracteres em uma string. Um objeto Match criado cada vez que o objeto RegExp encontra uma correspondncia (match). Zero ou mais correspondncias (matches) podero ocorrer e o objeto RegExp retornar uma coleo Matches de objetos Match.
Exemplo
strAlvo = O rato roeu a roupa do rei de Roma Set objRegExp = New RegExp objRegExp.Pattern = r objRegExp.IgnoreCase = False objRegExp.Global = True Set colMatches = objRegExp.Execute(strAlvo) For Each Match In colMatches Wscript.Echo Correspondncia encontrada em & Match.FirstIndex & . Wscript.Echo Valor encontrado & Match.Value & . & chr(10) Next

88

VBScript

Mtodos do objeto RegExp Execute


Executa a busca de uma expresso regular em uma string, retornando uma coleo Matches contendo um objeto Match para cada correspondncia (match) encontrada. A propriedade Pattern deve ter sido especificada previamente com a expresso regular. Sintaxe:
Set objRegExp = New RegExp

objRegExp.Execute(string)

Replace
Executa a busca de uma expresso regular em uma string original (str1), substituindo cada correspondncia (match) encontrada por uma outro string (str2). Se nenhuma correspondncia for encontrada, retornar a string original.
Set objRegExp = New RegExp

objRegExp.Replace (str1, str2)

Test
Executa a busca de uma expresso regular em uma string e retorna um valor Booleano True ou False, indicando se a expresso regular foi encontrada.
Set objRegExp = New RegExp

objRegExp.Test(string)

Propriedades do objeto RegExp Global


Retorna ou define um valor boleano, que indica se devem ser procuradas todas as ocorrncias (True) da expresso regular ou somente a primeira ocorrncia (False) em uma string.
Set objRegExp = New RegExp

objRegExp.Global = True | False

IgnoreCase
Define ou retorna um valor boleano que determina se a expresso regular distingue (False) ou no (True) minsculas de maisculas.
Set objRegExp = New RegExp

objRegExp.IgnoreCase = True | False

89

VBScript

Pattern
Define ou retorna uma string contendo a expresso regular. Deve ser especificada antes do objeto RegExp ser utilizado. Mais informaes podem ser obtidas em http:// msdn.microsoft.com/workshop/languages/clinic/ scripting051099.asp ou em http://www.oreilly/catalog/ regexp/.
Set objRegExp = New RegExp

objRegExp.Pattern [=expr_regular]

Coleo Matches
uma coleo criada pelo mtodo Execute do objeto RegExp, contendo objetos Match que so criados para cada correspondncia (match) encontrada da expresso regular em uma string.

Objeto Match
O objeto Match criado toda vez que o mtodo Execute do objeto RegExp encontra uma correspondncia (match) da expresso regular em uma string. Armazena em suas propriedades os detalhes de cada correspondncia (match) encontrada na pesquisa.

Propriedades do objeto Match FirstIndex


Retorna a posio (a partir de 0) dentro da string onde ocorreu a correspondncia (match) com a expresso regular.
objMatch.FirstIndex

Length
Retorna o tamanho do texto encontrado na pesquisa da expresso regular.
objMatch.Length

Value
Retorna o valor ou o texto encontrado na pesquisa da expresso regular.
objMatch.Value

90

VBScript

Smbolos usados em Expresses


Smbolo ^ Funo Somente localiza (match) no incio de uma string. Por exemplo: ^P localiza o primeiro P em Pedro pegou o pato. Somente localiza (match) no final de uma string. Por exemplo: a expresso o$ localiza o ltimo o em Pedro pegou o pato. Localiza qualquer final de palavra. Por exemplo: mente\b localiza em possivelmente amanh. Localiza qualquer coisa que no seja final de palavra. Localiza o literal especificado. Localiza o caractere new line Localiza o caractere form feed Localiza o caractere carriage return Localiza o caractere tab horizontal Localiza o caractere tab vertical Localiza o caractere ? Localiza o caractere * Localiza o caractere + Localiza o caractere . Localiza o caractere | Localiza o caractere { Localiza o caractere } Localiza o caractere \ Localiza o caractere [ Localiza o caractere ] Localiza o caractere ( Localiza o caractere ) Localiza o caractere ASCII expresso pelo nmero octal xxx. Por exemplo: \50" localiza ( ou chr (40). Localiza o caractere ASCII expresso pelo nmero hexa dd. Por exemplo: \x28" localiza ( ou chr (40). Localiza o caractere ASCII expresso pelo cdigo Unicode xxxx. Por exemplo: \u00A3" localiza . Localiza qualquer caractere no intervalo especificado. Por exemplo: a expresso [a-c] localiza a, bou c. Localiza qualquer caractere especificado em [ ]. Por exemplo: col[iu]na localiza colina e coluna. Localiza qualquer caractere que no esteja em [ ]. Por exemplo: dr[^o]ga localiza qualquer combinao, exceto droga. Localiza qualquer caractere exceto \n. Por exemplo: a expresso a.b localiza aab e a3b, mas no ab. Localiza letras e dgitos. Equivale a [a-zA-Z_0-9]. Localiza qualquer caractere que no seja letra ou dgito. Equivale a [^a-zA-Z_0-9]. 91

\b

\B literal \n \f \r \t \v \? \* \+ \. \| \{ \} \\ \[ \] \( \) \xxx

\xdd

\uxxxx

[a-z] [xyz] [^xyz]

\w \W

VBScript \d \D \s \S {x} Localiza qualquer dgito. Equivale a [0-9]. Localiza qualquer no-dgito. Equivale a [^0-9]. Localiza qualquer caractere espao. Equivale a [ \t\r\n\v\f]. Localiza qualquer caractere diferente de espao. Equivale a [^\t\r\n\v\f]. Localiza exatamente x ocorrncias de uma expresso regular. Por exemplo: a{3} equivale a aaa. Localiza x ou mais ocorrncias de uma expresso regular. Por exemplo: \s{2,} localiza pelo menos 2 caracteres espao. Localiza entre x e y ocorrncias de uma expresso regular. Por exemplo: \d{2,3} localiza pelo menos 2, mas no mais que 3 dgitos. Localiza zero ou uma ocorrncia do caractere precedente. Equivale a {0,1}. Por exemplo: a expresso casas? localiza ambos casa e casas. Localiza zero ou mais ocorrncias do caractere precedente. Equivale a {0,}. Por exemplo: a expresso fo* localiza ambos f e foo. Localiza uma ou mais ocorrncias do caractere precedente. Equivale a {1,}. Por exemplo: a expresso fo+ localiza foo mas no f. Agrupa uma clusula para criar uma nova clusula. Pode ser aninhada. Por exemplo: (ab)?(c) localiza abc or c. Localiza qualquer uma das clusulas individuais. Por exemplo: a expresso a|b localiza a ou b:.

(x,}

{x,y}

()

92

Informaes Adicionais

Informaes Adicionais
Sobre o Autor
Roberto Gomes de Aguiar Veiga natural de Belo Horizonte, Minas Gerais, cidade onde reside. Trabalha como Tcnico de Informtica no Servio Federal de Processamento de Dados (Serpro), empresa pblica da rea de informtica vinculada ao Ministrio da Fazenda. Est lotado atualmente no Centro de Especializao BackOffice da Superintendncia de Atendimento a Clientes do Serpro. Dentre suas qualificaes, as mais importantes so a de Microsoft Certified Systems Engineer (MCSE) e Microsoft Certified Professional + Internet (MCP + Internet). O autor pode ser contatado atravs do e-mail raveiga@yahoo.com.

Sobre Este Guia


Este guia busca ser uma obra de referncia sucinta sobre um assunto sobre o qual no h ttulos disponveis nas livrarias. incrvel como o mercado editorial brasileiro, na rea de informtica, restringe-se a alguns poucos assuntos. Eu conheo pelo menos uma centena de livros sobre Windows e Visual Basic e dzias de livros sobre Linux e Delphi, mas no conheo nenhum outro, em lngua portuguesa, sobre o WSH que no este modesto guia. Quando decidiu adquirir este guia, provavelmente o que o motivou foi o fato de que, assim como eu, voc tambm acredita no grande potencial do WSH dentro das redes empresariais baseadas na plataforma Windows. Acredito que o WSH v se tornar to importante para o Windows quanto o ASP importante para o Internet Information Server, por isso me dediquei tanto ao seu aprendizado. Acho que o leitor tambm far o mesmo e que este guia lhe ser bastante til!

93

Informaes Adicionais

Palavra Final do Autor


Para os profissionais que decidiram dedicar suas vidas informtica, o que vou dizer agora pode at parecer lugar comum: manter-se atualizado em novas tecnologias uma questo de continuar ou no valioso para o mercado de trabalho e de continuar empregado tambm! Portanto, espero que o leitor, como profissional de informtica que , no veja este guia como algo definitivo sobre WSH. Consulte principalmente os sites que indiquei ao longo deste guia em busca de novidades. Eu lhes asseguro, elas existiro sempre. Crticas e sugestes sero bem-vindas (todo mundo sempre diz isso!) e podem ser enviadas ao e-mail informado abaixo. Por fim, espero sinceramente que este guia auxilie voc, meu caro leitor, nas suas tarefas cotidianas. Acredite em mim, foi isso que me motivou a escrev-lo. Um grande abrao, O Autor.

Notao utilizada neste Guia


Notao Significado opo1 | opo2 ... Barras verticais separam itens alternativos em uma lista. [] Identifica valores opcionais que podem ou no ser fornecidos pelo usurio. Digite somente a informao dentro dos parnteses; no digite os parnteses. Identifica um valor que deve ser fornecido pelo usurio. Identifica palavras reservadas.

itlico negrito

Comentrios e Sugestes
Comentrios e sugestes sobre este guia sero bastante apreciados. Podem ser enviados para o e-mail:

leitor@novateceditora.com.br
Conhea o site da Novatec Editora em:

www.novateceditora.com.br

94

ndice Smbolos
.WSF 10 .WSH 9 <![CDATA[...]]> 11, 15 <?job ?> 11 <?XML ?> 11 <job> 11, 12 <object> 11, 12 <package> 11, 13 <reference> 11, 13 <resource> 11, 14 <script> 11, 14 Drive 46, 55, 58, 59, 62, 64 DriveExists 46, 50 DriveLetter 55, 56 Drives 46, 47 DriveType 55, 56

E
Echo 16, 20 Elementos XML 10 Else 79 Empty 86 EnumNetworkDrives 31, 33 EnumPrinterConnections 31, 33 Environment 22, 23 Erase 85 Err 86, 87 Execute 89 Exists 43, 45 Exit 83 ExpandEnvironmentStrings 22, 25

A
Add 43, 44 AddPrinterConnection 31, 32 AddWindowsPrinterConnection 31, 33 ADSI 74 AppActivate 22, 24 Application 16, 17 Arguments 16, 17, 38 Arquivos .WSF 10 Arquivos .WSH 9 Asc 86 ASP 5 AtEndOfLine 68 AtEndOfStream 68 Attributes 58, 62, 63 AvailableSpace 55

F
False 86 File 46, 58 FileExists 46, 50 Files 46, 62, 64 FileSystem 55, 56 FileSystemObject 46 FirstIndex 90 Folder 46, 62 FolderExists 47, 50 Folders 46 For 81 For Each 83 FreeSpace 55, 56 FullName 16, 17, 38, 39, 42 Funes 84

B
BuildPath 46, 47 BuildVersion 16, 17

C
Call 85 CBool 86 CByte 86 CDate 86 Chr 86 CInt 86 Clear 87 Close 68, 69 Column 68, 69 CompareMode 43, 44 ComputerName 31 COMSPEC 23, 37 ConnectObject 19 Copy 58, 60, 62, 66 CopyFile 46, 48 CopyFolder 46, 48 Count 21, 22, 35, 36, 37, 40, 41, 43, 44 CreateFolder 46, 48 CreateObject 16, 19 CreateShortcut 22, 25 CreateTextFile 46, 49, 62, 67 Criptografando Scripts 16 CScript 8 CScript.exe 8 CStr 86

G
GetAbsolutePathName 47, 51 GetBaseName 47, 51 GetDrive 47, 52 GetDriveName 47, 52 GetExtensionName 47, 52 GetFile 47, 52 GetFileName 47, 52 GetFolder 47, 53 GetObject 16, 20 GetParentFolderName 47, 53 GetSpecialFolder 47, 53 GetTempName 47, 53 Global 89

H
HelpContext HelpFile 88 HOMEDRIVE HOMEPATH HotKey 38, 88 23, 37 23, 37 39

I
IconLocation 38, 39 If 79 IgnoreCase 89 InputBox 86 Interactive 16, 17 IsReady 55, 56 IsRootFolder 62, 64 Item 21, 35, 36, 40, 41, 43, 44 Items 43, 45

D
Date 86 DateCreated 58, 59, 62, 63 DateLastAcessed 58, 59, 62, 63 DateLastModified 58, 59, 62, 64 Delete 58, 61, 62, 66 DeleteFile 46, 49 DeleteFolder 46, 49 Description 38, 87 Dictionary 43 Dim 85 DisconnectObject 16, 20 Do... Loop 82

K
Key 43, 44 Keys 43, 45

95

ndice L
Left 86 Len 86 lenght 21, 22, 35, 36, 37, 40, 41 Length 90 Line 68, 69 LogEvent 22, 25 Loops 81

S
Save 38, 40, 42 ScriptEncoder 77 ScriptFullName 16, 18 ScriptName 16, 18 Scripts de Logon 75 Select Case 80 SendKeys 22, 29 SerialNumber 55, 57 Set 85 SetDefaultPrinter 31, 35 ShareName 55, 57 ShortName 58, 60, 62, 65 ShortPath 58, 60, 62, 65 Size 58, 60, 62, 65 Skip 68, 70 SkipLine 68, 71 Sleep 16, 21 Source 88 SpecialFolders 22, 24 StdErr 16, 18, 19 StdIn 16, 18 StdOut 16 Sub-Rotinas 83 SubFolders 62, 66 SYSTEMDRIVE 23, 37 SYSTEMROOT 23, 37

M
MapNetworkDrive 31, 33 Match 90 Matches 90 Move 58, 61, 62, 67 MoveFile 47, 54 MoveFolder 47, 54 MsgBox 86

N
Name 16, 18, 58, 59, 62, 64 Nothing 86 Now 86 Null 86 Number 87 NUMBER_OF_PROCESSORS 23, 37

O
Objeto Wscript 16 Objetos do WSH 16 On Error 85 OpenAsTextStream 58, 61 OpenTextFile 47, 54 Operadores 84 Option Explicit 85 OS 23, 37

T
TargetPath 38, 39, 42 TEMP 23, 37 Test 89 TextStream 46, 68 Time 86 TimeOut 16, 19 TMP 23, 37 TotalSize 55, 57 Trim 86 Type 58, 60, 66

P
ParentFolder 58, 59, 62, 65 PATH 23, 37 Path 16, 18, 55, 57, 58, 59, 62, 65 PATHEXT 23, 37 Pattern 90 Popup 22, 26 Preserve 85 PROCESSOR_ARCHITECTURE 23, 37 PROCESSOR_IDENTIFIER 23, 37 PROCESSOR_LEVEL 23, 37 PROCESSOR_REVISION 23, 37 PROMPT 23, 37

U
UserDomain 31, 32 UserName 31, 32

V
Value 90 VBScript 78 Version 16, 19 VolumeName 55, 57

Q
Quit 16, 20

W
While... Wend 82 WIN32 73 WINDIR 23, 37 Windows Script Components 76 WindowsStyle 38 WindowStyle 39 WorkingDirectory 38, 40 Write 68, 71 WriteBlankLines 68, 72 WriteLine 68, 72 WScript 8 WScript.exe 8 WshArguments 21 WshCollection 35 WshEnvironment 36 WshNetwork 31 WshShell 22 WshShortcut 38 WshSpecialFolders 40 WshURLShortcut 41

R
Raise 87 Read 68, 69 ReadAll 68, 70 ReadLine 68, 70 Redim 85 RegDelete 22, 27 RegExp 86, 88 RegRead 22, 27 RegWrite 22, 28 Rem 85 Remove 36, 37, 43, 45 RemoveAll 43, 45 RemoveNetworkDrive 31, 34 RemovePrinterConnection 31, 34 Replace 89 Right 86 RootFolder 55, 57 Run 22, 28

X
XML 10

96

Você também pode gostar