windows script host

155
Novatec Editora www.novateceditora.com.br Roberto G. A. Veiga Windows Script Host Guia de Consulta Rápida 2 Guia de Consulta Rápida Windows Script Host de Roberto G. A. Veiga. Copyrightã 2000 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. ISBN: 85-85184-82-5 Novatec Editora Ltda.

Upload: thiagosimao

Post on 08-Nov-2015

96 views

Category:

Documents


5 download

DESCRIPTION

teste

TRANSCRIPT

Novatec Editorawww.novateceditora.com.brRoberto G. A. VeigaWindowsScript HostGuia de Consulta Rpida

2Guia de Consulta Rpida Windows Script Host deRoberto G. A. Veiga.Copyright 2000 da Novatec Editora Ltda.Todos os direitos reservados. proibida a reproduodesta obra, mesmo parcial, por qualquer processo, semprvia autorizao, por escrito, do autor e da Editora.ISBN: 85-85184-82-5Novatec Editora Ltda.Rua Cons. Moreira de Barros 1084 Conj. 0102018-012 So Paulo - SP BrasilTel.: (0xx11) 6959-6529Fax: (0xx11) 6950-8869E-mail: [email protected]:www.novateceditora.com.brMarcas registradasMicrosoft, Windows, Windows NT, Active Directory,ActiveXeInternetInformationServersomarcasregistradasda Microsoft Corporation nos Estados Unidos e em outrospases.Outrasmarcassodepropriedadedeseusrespectivosfabricantes.

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

4

5IntroduoO Windows Script Host, ou simplesmente WSH, umambientedescriptingparaaplataformaWindowsde32bitsqueveiosubstituiralinguagembatchherdadadoMS-DOS.Permite a desenvolvedores, administradores de sistemas econsultores de informtica desenvolverem scripts para arealizao de vrias tarefas dentro do Windows, desde asmais simples, como exibir texto numa caixa de mensagem,at as mais complexas, como manipular os objetos doActive Directory via ADSI.A principal caracterstica do WSH o fato de serindependentedelinguagemdeprogramao,oquesignificaque qualquer linguagem, desde que disponha de ummecanismo de scripting (interpretador) compatvel com atecnologiaActiveX,podeserutilizadanodesenvolvimentode scripts do WSH. A Microsoft oferece dois mecanismosde scripting - o do VBScript e o do JavaScript -, mas possvel encontrar outros mecanismos de scripting paralinguagenspopulares,comoPerl,TclouPython,fornecidospor outros fabricantes.Abaixo, um exemplo de script do WSH - o qual utiliza oVBScript como linguagem de programao - que exibe afraseAl,mundo!numacaixademensagemdoWindows:ExemploRem Exibe a frase Al, mundo!. Para test-lo, salve como um arquivo comextenso .vbs e depois execute-o:Wscript.Echo Al, mundo!Ao executar o arquivo .vbs, ser exibida a seguinte caixa demensagem:

ParaosprogramadoresASP,oWSHparecerbemfamiliar.De fato, o ASP um ambiente de scripting, ou host, parao Microsoft Internet Information Server, assim como oWSH,comoditoanteriormente,umambientedescriptingpara a plataforma Windows. Ambos so compatveis com atecnologia ActiveX da Microsoft.Introduo

6EsteguiaabordaraversomaisrecentedoWSH,a2.0,quetraz consigo a verso 5.1 do Windows Script Engine eacrescentaapossibilidadedeutilizaodalinguagemXMLno desenvolvimento de scripts.Muita informao adicional sobre o WSH e outrastecnologiasdescriptingdaMicrosoftpodeserobtidanositehttp://msdn.microsoft.com/scripting. esse site que vocdeveacessarembuscadenovidadessobreoWSH,incluindonovas verses e patches de atualizao.Existem outros sites que tambm oferecem informaessobre o WSH. Trs que eu sugiro so: http://wsh.superexpert.com, http://www.devguru.come http://wsh.glazier.co.nz.Por que usar o WSH? Um script WSH pode ser executado tanto a partir doWindows quanto a partir do prompt da linha decomando. WSH independente de linguagem de programao, oque d ao desenvolvedor de scripts liberdade parautilizarasualinguagemfavorita,desdequeelasuportea tecnologia ActiveX da Microsoft. A partir da verso 2.0 do WSH, possvel utilizar aXML,inclusivereutilizandoantigosarquivosdescript.vbs e .js dentro de um nico arquivo .wsf. Baixa utilizao de memria do sistema. Mapeamento automtico de extenses de arquivo, oque siginifca que o WSH entregar a execuo dearquivoscomextenso.vbsdiretamenteaointerpretadorVBScript e de arquivos .js ao interpretador JScript. No preciso nenhum programa especial para gerarscripts do WSH, pois no so nada alm de arquivos detexto. O bom e velho Notepad d conta do recado.Introduo

7InstalaoO WSH vem instalado por padro no Windows 98 (verso1.0) e no Windows 2000 (verso 2.0). No Windows 95 e noWindows NT ele deve ser instalado como um componenteadicional. O arquivo de instalao, chamado ste51en.exepara a verso 5.1 em ingls do pacote Windows ScriptEngine, pode ser baixado gratuitamente, via download, dositehttp://msdn.microsoft.com/scripting.A instalao do WSH no Windows 95 ou no NT, como a dequalquer componente extra do Windows, extremamenterpida e descomplicada. Basta executar o arquivo deinstalao e nenhuma outra ao ser requerida do usurioque no a de responder SIM quando for solicitado e clicarno boto OK no final do processo. No Windows 98 e no2000, a deciso de ter o WSH instalado ou no, pode sertomada na instalao do Sistema Operacional, quandosurge a janela Componentes Opcionais. O WSH pode serencontradodentrodeAcessriosaoclicarnobotoDetalhes.Posteriormente,oWSHpodeserinstalado/desinstaladoemPainel de Controle Adicionar/Remover Programas Instalao do Windows Acessrios. poca em que estava escrevendo este guia, a Microsoftestava liberando a verso 5.5 do Windows Script Engine,que tambm utiliza a verso 2.0 do WSH mas, por outrolado, traz melhorias para os mecanismos de scripting doVBScript e do JScript.Introduo

8Executando um script WSHExistem duas maneiras de executar um script WSH:Utilizando o WScriptO WScript.exe permite que os arquivos do WSH sejamexecutados a partir do Windows. Para executar um arquivodo WSH utilizando o WScript.exe, voc pode: Dar duplo clique no arquivo. Entrar o caminho completo e o nome do arquivo emIniciar Executar e clicar em OK. Entrar Wscript.exe seguido do caminho completo e donome do arquivo em Iniciar Executar e clicar emOK.Utilizando o CScriptO CScript.exe, por outro lado, permite que os arquivos doWSH sejam executados a partir do prompt da linha decomando. Para usar o CScript, utilize a seguinte sintaxe:cscript [ opes ] [ script ] [ parmetros ]Argumento Descrioopes//I Habilita o modo interativo.//B Desabilita o modo interativo; o script executadoem segundo plano.//T:nn Habilitatime-out.Opadronolimit.Quandoalgumvalor for especificado, o script s poder serexecutado 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. Esseparmetro registra um ou outro como a aplicaopadro para executar scripts. Se omitido,WScript.exe ser assumido.//S Salvaasatuaisconfiguraesdalinhadecomando.//? Mostra a utilizao dos comandos do CScript.exe.//E:engine Executa o script com o mecanismo de scriptingespecificado em engine.//D Habilita o depurador.//X Carrega o programa no depurador.//Job: Executa o JobID especificado em um arquivo .wsf.script Nome do arquivo script.parmetros Parmetros passados ao script. Devem serprecedidos por uma barra (/).ExemploExecuta o script chamado x.vbs com o parmetro //nologo e habilitando odepurador:C:\>cscript //nologo //D x.vbsExecutando um script WSH

9Arquivos .WSHOsarquivos.wshsoarquivosdetextoondesoarmazenadasconfiguraes especficas de um script. Ele criadoautomaticamente quando so alteradas as propriedades doscript conforme demonstrado abaixo.Para criar um arquivo .wsh:1. D um clique com o boto direito do mouse sobre umarquivo de script.2. No menu de contexto escolha Propriedades. Abaixo,apginadepropriedadesdoarquivox.vbsnoambienteWindows 2000:

3. Altere as configuraes que quiser na pgina depropriedades.4. Clique no boto OK.O contedo do arquivo .wsh criado seria semelhante a este:[ScriptFile]Path=C:\x.vbs[Options]Timeout=0DisplayLogo=1BatchMode=0Quando for executar o arquivo .wsh atravs da linha decomando, ou da caixa de dilogo Executar, d duplo cliqueno arquivo, que o WScript.exe ou o CScript.exe ler oarquivo em busca das configuraes definidas para o scriptao qual o arquivo .wsh estiver associado e, s ento, o scriptser executado. importante ressaltar que a criao doarquivo .wsh no elimina a necessidade da existncia doarquivo de script.Arquivos .WSH

10Utilizao de Elementos XMLAeXtensibleMarkupLanguage(XML),emalgunspontos,semelhante HTML, pois tambm uma linguagem deformatao de contedo para exibio de documentos,principalmentenaInternet.Agrandeefundamentaldiferena que a XML no est restrita a tags predefinidas como aHTML,oqueoferecemuitaflexibilidadeaodesenvolvedor.A XML um padro aberto e de se esperar que suautilizao s aumente nos prximos anos.Se voc no tiver muita familiaridade com a XML,infelizmenteesteguianodeverseroseupontodepartida.Sugiro que voc adquira o Guia de Consulta Rpida daNovatec sobre a XML, ou ento procure informaes naInternet, 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 analisadorda linguagem instalado na mquina. O Windows ScriptHost2.0vemcomesseanalisador.Lembre-sequescriptsdoWSHqueutilizemaXMLdeveroteraextensodearquivo.wsf.Arquivos .WSFOs arquivos .wsf so justamente arquivos de script queutilizam tags XML e que podem, dentre outras coisas,executarsimultaneamentecdigoemVBScripteemJScript.Portanto, eles no esto atrelados diretamente a nenhummecanismodescriptingesocapazesdeutilizarmaisdeumao mesmo tempo, desde que os mecanismos de scriptingsejam compatveis com a tecnologia ActiveX. Abaixo, umexemplo de arquivo .wsf:

WScript.Echo Ol mundo!

Elementos XML

12

Define um job dentro de um arquivo .wsf. Um job umatarefa a ser executada quando o script for chamado.

Cdigo a ser executado

Parmetro Descrioid Nome pelo qual ser feita referncia ao job dentro doscript e atravs do qual poder ser executado a partirda linha de comando.ExemploUtilizao da tag para definir mais de um job dentro de um arquivo .wsf:

WshShell.Popup WshShell eh um objeto declarado atravs da tag .]]>

Elementos XML

13

Permite que haja mltiplos jobs dentro de um mesmoarquivo .wsf. A utilizao de package opcional quandoh apenas um job no script.

Jobs

ExemploUtilizao da tag em um arquivo .wsf com vrios jobs:

Rem eh um caractere reservado da linguagem XMLWScript.Echo Ol Mundo!]]>

Elementos XML

16Objetos do WSHUm script do WSH pode fazer uso de qualquer objeto COMregistrado na mquina em que estiver sendo executado,sendo que ele prprio fornece alguns objetos intrnsecosque oferecem funcionalidades interessantes. So eles:Objeto WscriptO objeto Wscript o principal objeto fornecido pelo WSH.Atravsdelepodemserinstanciadostodososdemaisobjetosdo WSH (WshShell, WshNetwork, WshShortcut, etc.)utilizando o mtodo CreateObject(). Alm disso, o objetoWscript fornece mtodos e propriedades relacionados aoprprio script.Palavra-ChaveProgID N/A.CLSID 60254CA2-953b-11CF-8C96-00AA00B8708C.PropriedadesApplication Fornece a interface IDispatch para o objetoWscript.Arguments Argumentos passados na linha de comando.BuildVersion Retorna a build version do arquivo executveldo WSH.FullName Caminho completo para o executvel WSH.Interactive Se True, o script ser executado em modointerativo, caso False, o script ser executadoem segundo plano.Name Nome amigvel do objeto Wscript (propriedadepadro).Path Nome da pasta onde reside o executvel doWSH.ScriptFullName Caminhocompletoparaoscriptqueestsendoexecutado pelo WSH.ScriptName Nome do arquivo de script que est sendoexecutado pelo WSH.StdErr Retorna o fluxo de erro padro.StdIn Retorna o fluxo de entrada padro.StdOut Retorna o fluxo de sada padro.TimeOut Especifica o tempo mximo em que o scriptpoder ser executado.Version Uma string contendo a verso do WSH.MtodosCreateObject Criaeestabeleceumaconexocomumobjeto.DisconnectObject Disconecta um objeto previamente conectado.Echo Exibe uma caixa de mensagem.GetObject Retorna um objeto de automao de arquivo.Quit Terminaaexecuodoscriptcomumcdigodeerro especfico.Sleep Interrompe a execuo do script durante umperodo de tempo determinado.Objetos do WSH

17Propriedades do objeto WscriptApplicationFornece a interface IDispatch para o objeto Wscript.Utilizado para se fazer referncia a uma instncia doobjeto Wscript.Set objWscript = Wscript.ApplicationArgumentsForneceumacoleodeobjetosWshArguments;permiterecuperar argumentos passados para um script do WSH.Set objArgs = Wscript.ArgumentsExemploRem Exibe todos os argumentos da linha de comando:Set objArgs = Wscript.ArgumentsFor I = 0 to objArgs.Count - 1Wscript.Echo objArgs(I)NextBuildVersionRetorna a build version do arquivo executvel do WSH(cscript.exe ou wscript.exe) utilizado para executar o script.lngBuildVersion = Wscript.BuildVersionExemploRem Exibe a build version do arquivo wscript.exe:lngBuildVersion = Wscript.BuildVersionWscript.Echo lngBuildVersionFullNameFornece uma string contendo o caminho completo para oexecutvel do WSH.strFullName = Wscript.FullNameExemploRem Exibe o caminho completo para o Wscript.exe:strFullName = Wscript.FullNameWscript.Echo strFullNameInteractiveEspecifica se o script ser executado em modo interativo(True),permitindointeraocomousurio,ouemsegundoplano (False). Em segundo plano, mtodos como Echo,InputBox ou MsgBox no funcionaro.Wscript.Interactive = True|FalseExemploRem Exibir a frase Modo Interativo numa caixa de mensagem, pois apropriedade Interactive foi definida como True:Wscript.Interactive = TrueWscript.Echo Modo InterativoObjetos do WSH

18NameFornece uma string contendo o nome amigvel do objetoWScript. Essa a propriedade padro.strName = Wscript.NameExemploRem Exibe o nome amigvel do objeto Wscript:strName = Wscript.NameWscript.Echo strNamePathFornece uma string contendo o nome da pasta onde oexecutvel do WSH reside.strPath = Wscript.PathExemplostrPath = Wscript.PathWscript.Echo strPathScriptFullNameFornece o caminho completo para o script que est sendoexecutado pelo WSH.strScriptFullName = Wscript.ScriptFullNameExemplostrScriptFullName = Wscript.ScriptFullNameWscript.Echo strScriptFullNameScriptNameFornece o nome do arquivo de script que est sendoexecutado pelo WSH.strScriptName = Wscript.ScriptNameExemploRem Exibe o nome do script:strScriptName = Wscript.ScriptNameWscript.Echo strScriptNameStdErrRetorna um objeto TextStream, que permite escrever nofluxo de erro padro. Pode ser utilizado apenas quando oexecutvel do WSH o cscript.exe.Set objStdErr = Wscript.StdErrStdInRetorna um objeto TextStream, que permite ler texto apartir do fluxo de entrada padro. Pode ser utilizadoapenas quando o executvel do WSH o cscript.exe.Set objStdIn = Wscript.StdInObjetos do WSH

19StdErrRetorna um objeto TextStream, que permite escrever nofluxo de sada padro. Pode ser utilizado apenas quandoo executvel do WSH o cscript.exe.Set objStdOut = Wscript.StdOutTimeOutEspecifica o tempo mximo (em segundos) que um scriptter para ser executado. Quando esse limite de tempo foratingido, o script suspender automaticamente suaexecuo.Wscript.TimeOut = lngSegundosVersionFornece uma string com a verso do Windows Script queest sendo executado.strVerso = Wscript.VersionMtodos do objeto WscriptConnectObjectRelaciona um evento de um objeto a uma rotina dentro doscript que ser executada quando da ocorrncia desseevento.Wscript.ConnectObject obj [,prefixo])Parmetro Descrioobj Nome do objeto, definido previamente pela utilizaodo mtodo CreateObject().prefixo Prefixo que, concatenado ao caractere _ e ao nomedo evento gerado pelo objeto, forma o nome de umprocedimento dentro do script que ser chamadoquando o evento ocorrer.ExemploRem Cria uma instncia do objeto MeuObjeto e relaciona o evento OnBegin rotina Evento_OnBegin:Set obj = Wscript.CreateObject(MeuObjeto)Wscript.ConnectObject obj, EventoSub Evento_OnBeginWscript.Echo Um objeto MeuObjeto foi inicializado!End SubCreateObjectDefine um objeto e estabelece uma conexo com ele.Muitos objetos (como o WshShell, o WshNetwork, etc.)dependem diretamente da sua utilizao para sereminstanciados. Substitui a tag da XML.Set obj = Wscript.CreateObject(progID [,prefixo])Objetos do WSH

20Parmetro DescrioprogID Tipo do objeto a ser definido.prefixo Chama um procedimento dentro do script cujo nome formado por prefixo mais o caractere _, mais o nomede um evento gerado pelo objeto.ExemplosRem Criando um objeto chamado WshShell:Dim WshShellSet WshShell = Wscript.CreateObject(Wscript.Shell)DisconnectObjectDisconecta um objeto previamente conectado.Wscript.DisconnectObject objEchoExibe uma caixa de mensagem informativa na tela.Wscript.Echo msgExemploRem Exibe uma caixa de mensagem com os dizeres WSH quente!:Wscript.Echo WSH quente!GetObjectRetorna um objeto de automao de um arquivo. Pode serusado para ler, alterar ou inserir dados em arquivos queaceitem a automao OLE, tais como documentos doWord, planilhas do Excel ou bancos de dados do Access.Nestes casos, o mtodo GetObject() primeiro chama oaplicativo associado ao formato do arquivo.Set obj = GetObject(arquivo, [, progID][, prefixo])Parmetro Descrioarquivo Arquivodeondeserretornadooobjetodeautomao.progID String contendo o tipo do objeto a ser retornado.prefix SemelhanteaoparmetrodemesmonomedomtodoCreateObject().ExemploRem Abre um arquivo do Microsoft Excel chamado exemplo.xls:dim objSet obj = GetObject(C:\exemplo.xls)QuitEncerra a execuo do script com o cdigo de errocorrespondente.Wscript.Quit [intCodigoDeErro]Parmetro DescriointCodigoDeErro Valor ser retornado no final da execuo doprocesso. Caso omitido, Quit retornar 0.Objetos do WSH

21SleepInterrompe a execuo do script durante um determinadoperodo de tempo.Wscript.Sleep perodoParmetro Descrioperodo Perodo de tempo (em milissegundos) em que aexecuo do script estar suspensa.ExemploRem A execuo do script ser suspensa por dez segundos:Wscript.Echo Script inicializado!Wscript.Sleep 10000Wscript.Echo Script finalizado!Objeto WshArgumentsO objeto WshArguments retorna uma coleo contendotodos os argumentos passados para um script do WSH. Noexplicitamenteacessado,sendoinstanciadoquandosefazuso da propriedade Arguments dos objetos Wscript ouWshShortcut.Palavra-ChaveProgID N/A.CLSID 60254CA4-953b-11CF-8C96-00AA00B8708C.PropriedadesItem Matriz contendo os argumentos passados na linhade comando para o script.Count Nmero de argumentos da linha de comando.lenght Nmero de argumentos da linha de comando(JScript).Propriedades do objeto WshArgumentsItemA propriedade Item a propriedade padro do objetoWshArguments. uma matriz que contm os argumentospassados na linha de comando para o script, indexados apartir de 0 (ou seja, o primeiro item tem ndice 0, osegundo tem ndice 1 e assim por diante).Set objArgs = Wscript.ArgumentsstrArgs = objArgs(ndice)ExemploRem Recupera o segundo argumento passado para o script na linha de comando:Set objArgs = Wscript.ArgumentsstrArgs = objArgs(1)Wscript.Echo strArgsObjetos do WSH

22CountRetornaonmerodeargumentospassadosparaoscriptnalinha de comando.Set objArgs = Wscript.ArgumentsintArgs = objArgs.CountlenghtA propriedade lenght em tudo semelhante propriedadeCount. Usada para efeitos de compatibilidade com alinguagem JScript.Objeto WshShellOobjetoWshShellpermitequeosscriptsdoWSHinterajamdiretamente com o sistema operacional.Palavra-ChaveProgID Wscript.Shell.CLSID F935DC22-1CF0-11d0-ADB9-00C04FD58A0B.PropriedadesEnvironment Retorna um objeto WshEnvironment.SpecialFolders Fornece acesso s pastas especiais do Windows.MtodosAppActivate Ativa a janela de um aplicativo.CreateShortcut Cria e retorna um objeto WshShortcut ouWshURLShortcut.ExpandEnvironmentStringsExpande uma varivel de ambiente do tipoPROCESS e retorna a string correspondente.LogEvent Salva informaes no log do Windows NT ou noarquivo 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 EscrevechavesouvaloresnoregistrodoWindows.Run Cria um novo processo que executa um programado DOS ou do Windows.SendKeys Envia uma tecla ou conjunto de teclas para osistema operacional.Objetos do WSH

23Propriedades do objeto WshShellEnvironmentRetorna um objeto WshEnvironment. O tipo do objetoretornado, 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 DescriostrTipo Tipo do objeto retornado. Pode ser SYSTEM, USER,VOLATILE ou PROCESS no Windows NT e apenasPROCESS no Windows 9x. Retornar SYSTEM noWindows NT e PROCESS no Windows 9x, caso notenha sido especificado.As principais variveis de ambiente so:Nome SignificadoNUMBER_OF_PROCESSORSNmero de processadores.PROCESSOR_ARCHITECTURETipo do processador.PROCESSOR_IDENTIFIERID do processador da mquina.PROCESSOR_LEVELNvel do processador da mquina.PROCESSOR_REVISIONVerso 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 VarivelPATH(amesmaencontradanoarquivoAutoexec.bat).PATHEXT Extensesdearquivosexecutveis(.com,.exe,.bat, etc.).PROMPT Prompt da linha de comando.SYSTEMDRIVE Drivelocalondeseencontraapastadosistema.SYSTEMROOT Pasta do sistema.WINDIR Semelhante a SYSTEMROOT.TMP Pasta onde so armazenados os arquivostemporrios.TEMP Semelhante a TMP.ExemploRem Obtm o nome do Sistema Operacional:Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objEnvironment = WshShell.Environment(SYSTEM)strVar = objEnvironment(OS)Wscript.Echo strVarObjetos do WSH

24SpecialFoldersForneceumobjeto,oWshSpecialFolders,atravsdoqual possvel obter-se a localizao de pastas especiais doWindows, como a pasta Desktop, por exemplo.Set WshShell = Wscript.CreateObject(Wscript.Shell)strVar = WshShell.SpecialFolders(strNomeDaPasta)Parmetro DescriostrNomeDaPasta Nome de uma das pastas especiais do Windows.Pastas Especiais do Windows:AllUsersDesktopAllUsersStartMenuAllUsersProgramsAllUsersStartupDesktopFavoritesFontsMyDocumentsNetHoodPrintHoodProgramsRecentSentToStartMenuStartupTemplatesExemploRem Retorna o caminho completo para a pasta Meus Documentos do usurio atual:Set WshShell = Wscript.CreateObject(Wscript.Shell)strVar = WshShell.SpecialFolders(MyDocuments)Wscript.Echo strVarMtodos do objeto WshShellAppActivateAtiva a janela de um aplicativo em execuo.Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.AppActivate strTtuloParmetro DescriostrTtulo Nome que aparece na barra de ttulo do aplicativosendo executado.ExemploRem Escreve Ol Mundo! no Notepad:Set WshShell = CreateObject(WScript.Shell)WshShell.Run notepadWScript.Sleep 200WshShell.AppActivate NotepadWScript.Sleep 200WshShell.SendKeys Ol Mundo!WScript.Sleep 2000Objetos do WSH

25CreateShortcutRetornadoistiposdeobjeto:umobjetoWshShortcutparaum atalho comum ou um objeto WshURLShortcut paraum atalho que aponta para uma URL.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)Parmetro DescriostrNomeDoAtalho Nomedoatalhoasercriadonareadetrabalhodo usurio ou em outra localizao. Se aextenso for .lnk, ser criado um objetoWshShortcut. Se for .url, ser criado um objetoWshURLShortcut.ExpandEnvironmentStringsExpande uma varivel de ambiente do tipo PROCESS.Set WshShell = Wscript.CreateObject(Wscript.Shell)strVar = WshShell.ExpandEnvironmentStrings(string)Parmetro Descriostring Uma string representando uma varivel de ambientecontida entre dois caracteres de percentagem (%).ExemploRem Exibe o nome do sistema operacional:Set WshShell = Wscript.CreateObject(Wscript.Shell)strVar = WshShell.ExpandEnvironmentStrings(%OS%)Wscript.Echo strVarLogEventSalva informaes no log do Windows NT ou no arquivoWSH.log(quandooscriptforexecutadonoWindows 9x).Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.LogEvent intTipo, strMsg [,strAlvo]Parmetro DescriointTipo Um inteiro representando o tipo (status) do eventoocorrido.0 SUCESS1 ERROR2 WARNING4 INFORMATION8 AUDIT_SUCESS16 AUDIT_FAILUREstrMsg Uma mensagem descrevendo o evento ocorrido.strAlvo Nomedosistemaondeoeventosersalvo.Senenhumvalor for especificado, o WSH assumir o sistemalocal. Vlido apenas para o Windows NT.Objetos do WSH

26PopupMostra 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 DescriostrMsg Mensagemaserapresentadanacaixademensagem.intSegundos Tempo em que a caixa de mensagem ficar na telaantes de ser automaticamente fechada.strTtulo Texto da barra de ttulo da caixa de mensagem. Seomitido, ser exibido Windows Script Host.intTipo Valor obtido pela combinao (soma) dos valores deconstantes referentes aos tipos de botes e de conesequedeterminamaaparnciadacaixademensagem.Botes0 Boto OK.1 Botes OK e Cancelar.2 Botes Abortar, Repetir e Ignorar.3 Botes Sim, No e Cancelar.4 Botes Sim e No.5 Botes Repetir e Cancelar.cones16 Exibe um X dentro de um crculo vermelho. Significaa ocorrncia de um erro.32 Exibe um ponto de interrogao. Normalmente usadopara perguntas.48 Exibe um ponto de exclamao. Normalmente usadopara advertncias.64 Exibe a letra I. Usado quando a caixa de mensagemtraz informaes para o usurio.O mtodo Popup sempre retorna um inteiro, representandoo boto que foi clicado. Abaixo, uma lista dos valores quepodem ser retornados pelo mtodo:Valores Botes1 OK.2 Cancelar.3 Abortar.4 Repetir.5 Ignorar.6 Sim.7 No.Objetos do WSH

27RegDeleteExclui uma chave ou valor do registro do Windows.Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.RegDelete strVarParmetro DescriostrVar O valor ou chave do registro a ser excludo. O mtodoRegDelete entende que se o parmetro passadoterminar com um caractere \, dever excluir umachave, caso contrrio excluir um valor.ExemploRem Exclui o valor Y da chave X e depois a prpria chave X deHKEY_LOCAL_MACHINE\Software:Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.RegDelete HKLM\Software\X\YWshShell.RegDelete HKLM\Software\X\Abaixo,asdenominaesabreviadasecompletasdaschaves-raiz do registro do Windows:Abreviao Chaves-RaizHKCU HKEY_CURRENT_USER.HKLM HKEY_LOCAL_MACHINE.HKCR HKEY_CLASSES_ROOT.HKEY_USERSHKEY_CURRENT_CONFIGEsses valores das chaves-raiz servem tambm para osmtodos RegRead e RegWrite, que veremos logo a seguir.RegReadL dados de uma chave ou valor do registro do Windows.Tem uma limitao: s capaz de ler dados dos tiposREG_SZ, REG_EXPAND_SZ, REG_DWORD,REG_BINARY e REG_MULTI_SZ. Se for outro o tipodo dado a ser lido, RegRead retornarDISP_E_TYPEMISMATCH.Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.RegRead strVarParmetro DescriostrVar O valor ou chave do registro a ser lido. O mtodoRegReadentendequeseoparmetropassadoterminarcomumcaractere\,deverlerodadodeumachave,caso contrrio ler um valor.ExemploRem L o valor Y da chave X e depois l a prpria chave X deHKEY_LOCAL_MACHINE\Software:Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.RegRead HKLM\Software\X\YWshShell.RegRead HKLM\Software\X\Objetos do WSH

28RegWriteComomtodoRegWrite,possvelparaumscriptdoWSHescrever dados em chaves ou valores do registro.Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.RegWrite strVar, strDado [,strTipo]Parmetro DescriostrVar O valor ou chave do registro onde se vai escrever umdado.OmtodoRegWrite,comoosanteriores,entendequeseoparmetropassadoterminarcomumcaractere\, dever escrever em uma chave, caso contrrio irescrever um valor.strDado Dado a ser escrito.strTipo Tipo do dado a ser escrito. Pode ser REG_SZ,REG_EXPAND_SZ, REG_DWORD e REG_BINARY.Se tentar utilizar outro tipo, ser retornadoE_INVALIDARG.ExemploRem Escreve WSH no valor Y da chave X e depois na prpria chave X deHKEY_LOCAL_MACHINE\Software:Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.RegWrite HKLM\Software\X\Y, WSHWshShell.RegWrite HKLM\Software\X\, WSHRunCriaumnovoprocessoqueexecutaumarquivoexecutvel(.exe, .com, .bat, etc.).Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.Run strComando [,intEstiloDeJanela][,strAguardaRetorno]Parmetro DescriostrComando Caminho para o executvel.intEstiloDeJanela Estilodajaneladoexecutveldurantesuaexecuopelo script.0 Esconde a janela e ativa uma outra janela.1 Ativaeexibeumajanela.Seajanelaforminimizadaou maximizada, o sistema restaurar seu tamanhoe posio originais. Uma aplicao deve utilizaressa opo quando estiver exibindo uma janelapela primeira vez.2 Exibe a janela minimizada.3 Exibe a janela maximizada.4 Exibe a janela em sua posio e tamanho maisrecentemente definidos.5 Exibe a janela em sua posio e tamanho atuais.6 Minimiza a janela especificada e ativa a prximajanela.Objetos do WSH

297 Exibeajanelaminimizada,mantendo-acomojanelaativa.8 Exibe a janela em seu estado atual, mantendo-acomo janela ativa.9 Ativaeexibeumajanela.Seajanelaforminimizadaou maximizada, o sistema restaurar seu tamanhoe posio originais. Uma aplicao deve utilizaressaopoquandoestiverrestaurandoumajanelaminimizada.10 Configura a exibio da janela de acordo com oprograma que iniciou a aplicao.strAguardaRetorno Se no especificado ou False, retornarimediatamente ao script com um cdigo de errozero. Caso True,retornarqualquercdigodeerroda aplicao que estiver sendo executada.ExemploRem Inicia o Notepad:Set WshShell = Wscript.CreateObject(WScript.Shell)WshShell.Run notepadSendKeysEnviaumcaractereouumaseqnciadecaracteres(string)para o Windows, como se as teclas tivessem sidopressionadas no teclado.Set WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.SendKeys stringParmetro Descriostring Caractere ou seqncia de caracteres que devem serenviadosparaoWindows.Pararepetirumaseqnciavrias vezes, utilize a forma {string nmero derepeties}. Por exemplo, {R 10} enviaria o caractereR dez vezes.Alguns caracteres especiais, como a tecla de espao ou atecla Enter, por exemplo, que no so exibidos quandosuasteclascorrespondentessopressionadas,necessitamde uma maneira especial para poderem ser utilizados pelomtodo SendKeys. Essa forma especial, na maioria doscasos, consiste em colocar o cdigo delas entre chaves({}).Caracteres Especiais CdigoBACKSPACE {BACKSPACE}, {BS} ou {BKSP}BREAK {BREAK}CAPS LOCK {CAPSLOCK}DELETE {DELETE} ou {DEL}END {END}ENTER {ENTER} ou ~ESC {ESC}HELP {HELP}HOME {HOME}Objetos do WSH

30INSERT {INSERT} ou {INS}NUM LOCK {NUMLOCK}PAGE DOWN {PGDN}PAGE UP {PGUP}PRINT SCREEN {PRTSC}SCROLL LOCK {SCROLLLOCK}SETA P/ BAIXO {DOWN}SETA P/ DIREITA {RIGHT}SETA P/ ESQUERDA {LEFT}SETA P/ CIMA {UP}TAB {TAB}F1 {F1}F2 {F2}F3 {F3}F4 {F4}F5 {F5}F6 {F6}F7 {F7}F8 {F8}F9 {F9}F10 {F10}F11 {F11}F12 {F12}SHIFT +CTRL ^ALT %Os caracteres de soma (+), percentagem (%), acentocircunflexo (^), parnteses (( )) e til (~) tambm precisamestarentrechavesparapoderemserutilizadospelomtodoSendKeys.ExemploRem Escreve Ol Mundo! no Notepad:Set WshShell = CreateObject(WScript.Shell)WshShell.Run notepadWScript.Sleep 200WshShell.AppActivate NotepadWScript.Sleep 200WshShell.SendKeys Ol Mundo!WScript.Sleep 2000Objetos do WSH

31Objeto WshNetworkOobjetoWshNetworkpermiteaosscriptsdoWSHacessaremos recursos de rede do Windows.Palavra-ChaveProgID Wscript.Network.CLSID F935DC26-1CF0-11d0-ADB9-00C04FD58A0B.PropriedadesComputerName Uma string contendo o nome do computador.UserDomain Uma string contendo o nome do domnio dousurio.UserName Uma string contendo o nome do usurio.MtodosAddPrinterConnection Mapeiaumaimpressoraremotaparaumnome de recurso local.AddWindowsPrinterConnectionAdicionaumaconexodeimpressoraaoWindows.EnumNetworkDrives Enumera os drives de rede atualmentemapeados.EnumPrinterConnections Enumera os mapeamentos deimpressoras de rede atuais.MapNetworkDrive Mapeia um compartilhamento com umrecurso local.RemoveNetworkDrive Remove um mapeamento de rede.RemovePrinterConnectionRemove um mapeamento para umaimpressora.SetDefaultPrinter Determina uma impressora como sendoa impressora padro.Propriedades do objeto WshNetworkComputerNameForneceumastringcontendoonomedocomputadorondeo script est sendo executado.Set WshNetwork =Wscript.CreateObject(Wscript.Network)strNomeComputador = WshNetwork.ComputerNameExemploRem Obtm o nome do computador:Set WshNetwork = Wscript.CreateObject(Wscript.Network)strComputerName = WshNetwork.ComputerNameWscript.Echo strComputerNameObjetos do WSH

32UserDomainFornece uma string contendo o nome do domnio ondeest definida a conta do usurio atualmente conectado.Set WshNetwork =Wscript.CreateObject(Wscript.Network)strUserDomain = WshNetwork.UserDomainExemploRem Obtm o nome do domnio:Set WshNetwork = Wscript.CreateObject(Wscript.Network)strUserDomain = WshNetwork.UserDomainWscript.Echo strUserDomainUserNameForneceumastringcontendoonomedousurioatualmenteconectado mquina.Set WshNetwork =Wscript.CreateObject(Wscript.Network)strUserName = WshNetwork.UserNameExemploRem Obtm o nome do usurio atual:Set WshNetwork = Wscript.CreateObject(Wscript.Network)strUserName = WshNetwork.UserNameWscript.Echo strUserNameMtodos do objeto WshNetworkAddPrinterConnectionMapeia uma impressora remota para um recurso local dotipo LPT1:.Set WshNetwork =Wscript.CreateObject(Wscript.Network)WshNetwork.AddPrinterConnection strRecursoLocal,strImpressoraRemotaParmetro DescriostrRecursoLocal Nomedorecursolocalparaoqualsermapeadaa impressora. Exemplo: LPT1:.strImpressoraRemotaCaminho para a impressora remota, do tipo\\nomedoservidor\nomedaimpressoracompartilhada.ExemploRem Mapeia a impressora Y no servidor X para o recurso local LPT3:Set WshNetwork = Wscript.CreateObject(Wscript.Network)WshNetwork.AddPrinterConnection LPT3:, \\X\YObjetos do WSH

33AddWindowsPrinterConnectionAdiciona uma conexo de impressora ao Windows.Set WshNetwork =Wscript.CreateObject(Wscript.Network)WshNetwork.AddWindowsPrinterConnectionstrImpressora, strDriver [,strPortaDeImpressora]Parmetro DescriostrImpressora Caminho para a impressora remota, do tipo\\nomedoservidor\nomedaimpressoracompartilhada.strDriver Driver utilizado pela impressora. S poder serusadoquandooscriptforexecutadonoWindows9x. No Windows NT/2000 ser ignorado peloWSH.strPortaDeImpressoraPorta a ser utilizada pela impressora. A portapadroaLPT1:.Tambmspodeserutilizadono Windows 9x, sendo ignorado no WindowsNT/2000.ExemploRem Adiciona a impressora Y localizada no servidor X ao Windows:Set WshNetwork = Wscript.CreateObject(Wscript.Network)WshNetwork..AddWindowsPrinterConnection \\X\YEnumNetworkDrivesEnumera todos os mapeamentos de rede da mquina emuma matriz, instanciando um objeto WshCollection.Set WshNetwork =Wscript.CreateObject(Wscript.Network)Set objDrives = WshNetwork.EnumNetworkDrivesEnumPrinterConnectionsEnumeraosmapeamentosdeimpressorasdamquinaemuma matriz, instanciando um objeto WshCollection.Set WshNetwork =Wscript.CreateObject(Wscript.Network)Set objImpressoras =WshNetwork.EnumPrinterConnectionsMapNetworkDriveMapeia um compartilhamento em um servidor remotopara um recurso local, por exemplo, D:.Set WshNetwork =Wscript.CreateObject(Wscript.Network)WshNetwork.MapNetworkDrive strRecursoLocal,strCompartilhamento [,fAtualizaPerfil] [,strUsurio][,strSenha]Objetos do WSH

34Parmetro DescriostrRecursoLocal Recurso local (unidade de disco de rede) parao qual o compartilhamento ser mapeado.strCompartilhamento Nome do compartilhamento, do tipo\\nomedoservidor\pastacompartilhada, a sermapeado.fAtualizaPerfil SeTrue, salva o mapeamento no perfil do usurio.strUsurio Nome do usurio que se quer utilizar para fazero mapeamento (caso no seja o usurioatualmente conectado).strSenha Senhadousurioquesequerutilizarparafazero mapeamento (caso no seja o usurioatualmente conectado).ExemploRem Faz o mapeamento do compartilhamento Y no servidor X para a unidade dedisco de rede Z::Set WshNetwork = Wscript.CreateObject(Wscript.Network)WshNetwork.MapNetworkDrive Z:, \\X\YRemoveNetworkDriveRemove um mapeamento.Set WshNetwork =Wscript.CreateObject(Wscript.Network)WshNetwork.RemoveNetworkDrive strUnidadeDeDisco[,fForado]Parmetro DescriostrUnidadeDeDisco Unidade de disco de rede utilizada pelomapeamento que se pretende desfazer.fForado SeTrue,desfazomapeamentoindependentementedele estar ou no sendo utilizado no momento.ExemploRem Desfaz o mapeamento de rede do exemplo anterior:Set WshNetwork = Wscript.CreateObject(Wscript.Network)WshNetwork.RemoveNetworkDrive Z:RemovePrinterConnectionSemelhante ao mtodo RemoveNetworkDrive, o mtodoRemovePrinterConnectionremoveummapeamentofeitopara uma impressora remota.Set WshNetwork =Wscript.CreateObject(Wscript.Network)WshNetwork.RemovePrinterConnection strImpressoraParmetro DescriostrImpressora Impressora cujo mapeamento se pretende desfazer.ExemploRem Desfaz o mapeamento para a impressora em LPT1::Set WshNetwork = Wscript.CreateObject(Wscript.Network)WshNetwork.RemovePrinterConnection LPT1:Objetos do WSH

35SetDefaultPrinterDefine uma impressora como sendo a impressora padrodo Windows.Set WshNetwork =Wscript.CreateObject(Wscript.Network)WshNetwork.SetDefaultPrinter strImpressoraParmetro DescriostrImpressora Nome da impressora que se quer definir como aimpressora padro do Windows. Note que apenasnomes de impressora, no nomes de recursos locaistais como LPT1:, so aceitos como argumento.ExemploRem Define a impressora \\X\Y como a impressora padro do Windows:Set WshNetwork = Wscript.CreateObject(Wscript.Network)WshNetwork.SetDefaultPrinter \\X\YObjeto WshCollectionOobjetoWshCollection noacessadoexplicitamente.instanciado quando da utilizao dos mtodosEnumNetworkDrives e EnumPrinterConnections doobjeto WshNetwork.Palavra-ChaveProgID N/A.CLSID F935DC24-1CF0-11d0-ADB9-00C04FD58A0B.PropriedadesItem Matriz contendo os elementos enumerados.Count O nmero de elementos enumerados.lenght O nmero de elementos enumerados (JScript).Propriedades do objeto WshCollectionItem a propriedade padro do objeto WshCollection. umamatriz que contm os elementos enumerados, indexadosa partir de 0 (ou seja, o primeiro item tem ndice 0, osegundo tem ndice 1 e assim por diante).Set WshNetwork =Wscript.CreateObject(Wscript.Network)Set objEnum = WshNetwork.EnumNetworkDrivesouSet objEnum = WshNetwork.EnumPrinterConnectionsstrItem = objEnum (ndice)Objetos do WSH

36CountFornece o nmero de elementos enumerados.Set WshNetwork =Wscript.CreateObject(Wscript.Network)Set objEnum = WshNetwork.EnumNetworkDrivesouSet objEnum = WshNetwork.EnumPrinterConnectionsintItens = objEnum.CountlenghtA propriedade lenght em tudo semelhante propriedadeCount. Usada para efeitos de compatibilidade com alinguagem JScript.Objeto WshEnvironmentOobjetoWshEnvironment,assimcomooWshCollection,no explicitamente acessado. Para usar suas trspropriedades e seu nico mtodo, em primeiro lugar precisoinstanci-loutilizandoapropriedadeEnvironmentdo objeto WshShell.Palavra-Chave DescrioProgID N/A.CLSID N/A.PropriedadesItem Atribuiouobtmovalordeumavariveldeambiente.Count O nmero de elementos enumerados.lenght O nmero de elementos enumerados (JScript).MtodoRemove Remove uma varivel de ambiente.Propriedades do objeto WshEnvironmentItem a propriedade padro do objeto WshEnvironment.Atravs dela possvel atribuir ou obter o valor de umavarivel de ambiente. O uso da palavra Item opcional.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objEnvironment = WshShell.Environment([strTipo])strVar = objEnvironment.Item(strVariavelDoAmbiente)Parmetro DescriostrTipo Tipo do objeto retornado. Pode ser SYSTEM, USER,VOLATILE ou PROCESS no Windows NT e apenasPROCESS no Windows 9x. Retornar SYSTEM noWindows NT e PROCESS no Windows 9x, caso noseja especificado.Objetos do WSH

37As principais variveis de ambiente so:Nome SignificadoNUMBER_OF_PROCESSORSNmero de processadores.PROCESSOR_ARCHITECTURETipo 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 noarquivo 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 desistema.SYSTEMROOT Pasta do sistema.WINDIR Semelhante a SYSTEMROOT.TMP Pastaondesoarmazenadososarquivostemporrios.TEMP Semelhante a TMP.ExemploRem Obtm o nome do Sistema Operacional:Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objEnvironment = WshShell.Environment(SYSTEM)strVar = objEnvironment.Item(OS)Wscript.echo strVarCountFornece o nmero de elementos enumerados.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objEnvironment = WshShell.Environment([strTipo])intVar = objEnvironment.CountlenghtA propriedade lenght em tudo semelhante propriedadeCount.UsadaparacompatibilidadecomalinguagemJScript.Mtodo do WshEnvironmentRemoveExclui uma varivel de ambiente.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objEnvironment =WshShell.Environment(VOLATILE)objEnvironment.Remove strVarivelDeAmbienteObjetos do WSH

38Objeto WshShortcutO objeto WshShortcut no explicitamente acessado. Parapoder trabalhar com ele, necessrio instanci-lo usando omtodo CreateShortcut() do objeto WshShell. O objetoWshShortcut permite a criao e a manipulao de atalhosna rea de trabalho do usurio.Palavra-ChaveProgID N/A.CLSID F935DC28-1CF0-11d0-ADB9-00C04FD58A0B.PropriedadesArguments Argumentos passados para o atalho.Description Uma descrio do atalho.FullName Uma string contendo o caminho completo parao atalho.HotKey Uma tecla ou combinao de teclas que acionao atalho.IconLocation A localizao do cone de um atalho.TargetPath O arquivo alvo do atalho.WindowsStyle O estilo da janela do atalho.WorkingDirectory O diretrio de trabalho de um atalho.MtodosSave Salva um atalho.Propriedades do objeto WshShortcutArgumentsRetornaumobjetoWshArguments,contendoumacoleode argumentos passados para o atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)Set objArgs = objShortcut.ArgumentsExemploRem 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..ArgumentsFor I = 0 to objArgs.Count - 1Wscript.Echo objArgs(I)NextDescriptionFornece uma descrio do atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objShortcut.Description = stringObjetos do WSH

39FullNameFornece uma string contendo o caminho completo para oatalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)strFullName = objShortcut.FullNameHotKeyAssocia uma tecla ou combinao de teclas para acionarum atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objShortcut.HotKey = strHotKeyExemploRem 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 + NIconLocationFornece a localizao do cone de um atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objShortcut.IconLocation = strCaminhoDoconeTargetPathFornece o caminho para o arquivo alvo do atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objShortcut.TargetPath = strAlvoExemploRem 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.exeWindowStyleFornece o estilo de janela de um atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objShortcut.WindowStyle = intEstiloDaJanelaObjetos do WSH

40Os valores possveis para intEstiloDaJanela so:Estilos de Janela Descrio1 Ativa e exibe a janela como do tipo Normal.3 Ativa e exibe a janela maximizada.1 Minimiza a janela e exibe a prxima janela.ExemploRem 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 = 7WorkingDirectoryFornece a pasta de trabalho do atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objShortcut.WorkingDirectory = strPastaDeTrabalhoMtodo do objeto WshShortcutSaveSalva o atalho na localizao especificada no argumentodo mtodo CreateShortcut() do objeto WshShell.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objShortcut = WshShell.CreateShortcut(strNomeAtalho)objShortcut.SaveExemploRem 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.exeobjShortcut.WindowStyle = 1objShortcut.Description = Atalho para o Notepad!objShortcut.WorkingDirectory = c:\winntobjShortcut.SaveObjeto WshSpecialFoldersO objeto WshSpecialFolders permite obter o caminho paraas pastas especiais do Windows. instanciado quando dautilizaodapropriedadeSpecialFoldersdoobjetoWshShell.Palavra-ChaveProgID N/A.CLSID N/A.PropriedadesItem Matrizdeelementoscontendoocaminhocompletopara as pastas especiais do Windows.Count O nmero de elementos enumerados.lenght O nmero de elementos enumerados (JScript).Objetos do WSH

41Propriedades do objetoWshSpecialFoldersItemA propriedade Item a propriedade padro do objetoWshSpecialFolders.umamatrizdeelementosquecontmo caminho completo para as pastas especiais do Windows.Se a pasta no existir, NULL ser retornado. O uso dapalavra reservada Item opcional, o que significa dizerdesnecessrio.Set WshShell = Wscript.CreateObject(Wscript.Shell)strVar = WshShell.SpecialFolders.Item(strNomeDaPasta)Parmetro DescriostrNomeDaPasta Especifica o nome de uma das pastasespeciais do Windows.CountFornece o nmero de elementos enumerados.Set WshShell = Wscript.CreateObject(Wscript.Shell)intVar = WshShell.SpecialFolders.CountlenghtApropriedadelenghtemtudosemelhantepropriedadeCount. Usada para efeitos de compatibilidade com alinguagem JScript.Objeto WshURLShortcutOobjetoWshURLShortcuttambminstanciadoapartirdautilizaodomtodoCreateShortcut()doobjetoWshShell.Permite criar e manipular atalhos para URLs.Palavra-Chave DescrioProgID N/A.CLSID N/A.PropriedadesFullName Uma string contendo o caminho completo para oatalho.TargetPath A URL alvo do atalho.MtodosSave Salva um atalho.Objetos do WSH

42Propriedades do objetoWshURLShortcutFullNameFornece uma string contendo o caminho completo para oatalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objURLShortcut =WshShell.CreateShortcut(strNomeDoAtalho)strFullName = objURLShortcut.FullNameTargetPathFornece o caminho para a URL alvo do atalho.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objURLShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objURLShortcut.TargetPath = strAlvoMtodo do objeto WshURLShortcutSaveSalva o atalho na localizao especificada no argumentodo mtodo CreateShortcut() do objeto WshShell.Set WshShell = Wscript.CreateObject(Wscript.Shell)Set objURLShortcut =WshShell.CreateShortcut(strNomeDoAtalho)objURLShortcut.SaveObjetos do WSH

43Objeto DictionaryO objeto Dictionary no um objeto intrnseco ao WSH,mas pode ser bastante til em diversas situaes. O objetoDictionary permite armazenar pares nome/valor(referenciados como chave e item, respectivamente) emuma 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 Dictionarychamado frutas, ao qual adiciona-se chaves e valores.Ao final, o script exibir uma caixa de mensagem com oitem contido na chave d.ExemploDim frutasSet frutas = CreateObject(Scripting.Dictionary)frutas.Add a, Laranjafrutas.Add b, Mafrutas.Add c, Morangofrutas.Add d, PssegoWscript.Echo A fruta contida na chave d : frutas.item(d)PropriedadeCompareMode Define ou retorna o modo utilizado na comparaode strings.Count RetornaonmerodeitensemumobjetoDictionary.Item Define ou retorna um item para uma chaveespecificada.Key Defineouretornaovalordeumachaveespecificada.MtodosAdd Adiciona um par chave/item ao objeto Dictionary.Exists Booleano. Retornar True se a chave especificadaexistir.Items Retorna uma matriz contendo todos os itens de umobjeto Dictionary.Keys Retorna uma matriz contendo todas as chaves deum objeto Dictionary.Remove Removeumparchave/itemdeumobjetoDictionary.RemoveAll Remove todos os pares chave/item de um objetoDictionary.Objetos do WSH

44CompareModeA propriedade CompareMode define ou retorna o modoutilizado na comparao de strings em um objetoDictionary. Disponvel somente no VBScript.Set obj = CreateObject(Scripting.Dictionary)obj.CompareMode [=compara]Argumento Descriocompara Mododecomparaousadoporfunescomo StrComp.vbBinaryCompare=0 Comparao binria.vbTextCompare=1 Comparao textual.CountA propriedade Count retorna o nmero de itens em umobjeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.CountItemA propriedade Item define ou retorna um item para umachave especificada em um objeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.Item(chave)[=novoitem]Argumento Descriochave Chaveassociadaaoitemqueestiversendolidoouadicionado.novoitem Novo valor associado chave. Usado somente comobjeto Dictionary.KeyApropriedadeKeydefineouretornaovalordeumachaveem um objeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.Key (chave) = novachaveArgumento Descriochave Chave existente.novachave Novo valor da chave.AddO mtodo Add adiciona um par chave/item a um objetoDictionary.Set obj = CreateObject(Scripting.Dictionary)obj.Add chave, itemArgumento Descriochave Chaveassociadaaoitemqueestiversendoadicionado.item Item a ser adicionado.Objeto Dictionary

45ExistsO mtodo Exists retornar True se a chave especificadaexistir no objeto Dictionary; caso contrrio, retornarFalse.Set obj = CreateObject(Scripting.Dictionary)obj.Exists (chave)Argumento Descriochave Chave a ser pesquisada no objeto Dictionary.ItemsO mtodo Items retorna uma matriz contendo todos ositens de um objeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.ItemsKeysO mtodo Keys retorna uma matriz contendo todas aschaves de um objeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.KeysRemoveO mtodo Remove remove um par chave/item de umobjeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.Remove (chave)Argumento Descriochave Chave a ser removida do objeto Dictionary.RemoveAllO mtodo RemoveAll remove todos os pares chave/itemde um objeto Dictionary.Set obj = CreateObject(Scripting.Dictionary)obj.RemoveAllObjeto Dictionary

46FileSystemObjectOFileSystemObject,ousimplesmenteFSO,estcontidonabiblioteca scrrun.dll. O FSO permite ao desenvolvedorinteragir com o sistema de arquivos do Windows, inclusivefornecendooutrosobjetosecoleesparatarefasespecficas,tais como listar os drives da mquina ou copiar o contedode uma pasta para outra localizao.ObjetosFileSystemObject ObjetoprincipaldoFSO.Temdeserinstanciadoantes de qualquer outro.Drive Fornece acesso s propriedades dos drives damquina.File Fornece propriedades e mtodos paramanipulao de arquivos.Folder Fornece propriedades e mtodos paramanipulao de pastas.TextStream Permite acessar (criar, ler e escrever) arquivosde texto.ColeesDrives Uma lista de todos os drives da mquina.Files Uma lista dos arquivos contidos em uma pasta.Folders Umalistadaspastascontidasemoutrapastaouna raiz de um disco.Com o FSO voc poder: desenvolver pginas ASP e criar scripts do WSH.Oprimeiropassoantesdeutilizaraspropriedades,mtodos,objetosecoleesfornecidospeloFSOinstanciaroobjetoprincipal, o FileSystemObject, da seguinte forma:Set fso = CreateObject(Scripting.FileSystemObject)Vamosverentooqueoobjetoprincipal,oFileSytemObject,tem a nos oferecer.PropriedadeDrives Retorna uma coleo Drives.MtodosBuildPath Anexa um nome a um caminho existente.CopyFile Copiaumarquivoparaumlocalespecificado.CopyFolder Copiaumapastaparaumlocalespecificado.CreateFolder Cria uma pasta.CreateTextFile Cria um arquivo de texto.DeleteFile Exclui um arquivo.DeleteFolder Exclui uma pasta.DriveExists RetornarTrueseodriveespecificadoexistir.FileExists Retornar True se o arquivo especificadoexistir.FileSystemObject

47FolderExists Retornar True se a pasta especificadaexistir.GetAbsolutePathName Retorna o caminho completo para a pastaatual.GetBaseName Retorna o nome de um arquivo sem aextenso.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 caminhoespecificado.GetFolder Retorna um objeto Folder.GetParentFolderName Retorna a pasta onde est contida a ltimapasta ou arquivo de um caminho.GetSpecialFolder Retornaocaminhoparaumapastaespecialdo Windows.GetTempName Retorna um nome de arquivo temporrio.MoveFile Move um arquivo para outra localizao.MoveFolder Move uma pasta e seu contedo para outralocalizao.OpenTextFile Abre um arquivo de texto.DrivesRetorna uma coleo Drives onde esto contidos todos osdrives da mquina.Set fso =CreateObject(Scripting.FileSystemObject)Set myDrives = fso.DrivesExemploRem Exibe todos os drives da mquina:Set fso = CreateObject(Scripting.FileSystemObject)Set myDrives = fso.DrivesFor Each drive in myDrivesS = S + drive + \ + chr(10)NextWscript.Echo SBuildPathAnexa um nome a um caminho existente.Set fso =CreateObject(Scripting.FileSystemObject)novocaminho = fso.BuildPath(caminho, nome)Parmetro Descriocaminho Caminho ao final do qual se quer adicionar um nome.nome Nome que se quer adicionar ao caminho existente.ExemploRem 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 novocaminhoFileSystemObject

48CopyFileCopia um ou mais arquivos para um local especificado.Set fso = CreateObject(Scripting.FileSystemObject)fso.CopyFile origem, destino [,fSubstituir]Parmetro Descrioorigem Caminho completo para o(s) arquivo(s) a ser(em)copiado(s). Caracteres curinga (*) podem ser usadosno lugar do nome dos arquivos.destino Nova localizao do(s) arquivo(s).fSubstituir Se True, substituir os arquivos existentes na novalocalizao que tenham o mesmo nome dos arquivosque esto sendo copiados.ExemploRem Copia o arquivo c:\x.txt para a pasta c:\windows\:Set fso = CreateObject(Scripting.FileSystemObject)fso.CopyFile c:\x.txt, c:\windows\CopyFolderCopia uma pasta para um local especificado.Set fso = CreateObject(Scripting.FileSystemObject)fso.CopyFolder origem, destino [,fSubstituir]Parmetro Descrioorigem Caminho completo para a pasta a ser copiada.Caracteres curinga (*) podem ser usados no lugar donome da pasta.destino Nova localizao da pasta.fSubstituir Se True, substituir os arquivos homnimos caso hajaumapastananovalocalizaocomomesmonomedapasta a ser copiada.ExemploRem Copia a pasta c:\teste\ para a pasta c:\windows\:Set fso = CreateObject(Scripting.FileSystemObject)fso.CopyFolder c:\teste, c:\windows\CreateFolderCria uma pasta na localizao especificada, retornandoum objeto Folder.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)Parmetro DescriostrNovaPasta Caminho completo para a nova pasta a ser criada.Ser retornado um erro caso a pasta j exista.ExemploRem Cria a pasta novapasta em c:\:Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(c:\novapasta)FileSystemObject

49CreateTextFileCriaumnovoarquivodetextonalocalizaoespecificada,retornando um objeto TextStream.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateTextFile(strArquivoTexto [,fSubstituir][,unicode])Parmetro DescriostrArquivoTexto Caminho completo para o arquivo de texto a sercriado.fSubstituir Se True, substituir um arquivo homnimo peloarquivo que estiver sendo criado. Se False, oarquivo original ser mantido.unicode SeTrue,umarquivoUnicode sercriado.Se Falseou omitido, ser criado um arquivo ASCII.ExemploRem Cria um arquivo chamado x.txt em c:\:Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateTextFile(c:\x.txt, true)DeleteFileExclui um arquivo.Set fso = CreateObject(Scripting.FileSystemObject)fso.DeleteFile strArquivo [,fForado]Parmetro DescriostrArquivo Caminho para o arquivo a ser excludo.fForado Booleano. Esse parmetro ter de ser True se oarquivo a ser excludo for somente de leitura.ExemploRem Exclui o arquivo x.txt criado anteriormente:Set fso = CreateObject(Scripting.FileSystemObject)fso.DeleteFile c:\x.txt, trueDeleteFolderExclui uma pasta.Set fso = CreateObject(Scripting.FileSystemObject)fso.DeleteFolder strPasta [,fForado]Parmetro DescriostrPasta Caminho para a pasta a ser excluda.fForado Booleano. Esse parmetro ter de ser True se a pastaa ser excluda for somente de leitura.ExemploRem Exclui a pasta novapasta criada anteriormente:Set fso = CreateObject(Scripting.FileSystemObject)fso.DeleteFolder c:\novapastaFileSystemObject

50DriveExistsRetornar True se o drive especificado existir.Set fso = CreateObject(Scripting.FileSystemObject)fRetorno = fso.DriveExists(strDrive)Parmetro DescriostrDrive Nome do drive.ExemploRem Verifica se o drive z:\ existe:Set fso = CreateObject(Scripting.FileSystemObject)fRetorno = fso.DriveExists(z:)if fRetorno = True thenWscript.Echo O drive Z:\ existe!elseWscript.Echo O drive Z:\ no existe!end ifFileExistsSimilar ao mtodo DriveExists(), o mtodo FileExists()tambm retornar True se o arquivo especificado existir.Set fso = CreateObject(Scripting.FileSystemObject)fRetorno = fso.FileExists(strArquivo)Parmetro DescriostrArquivo Caminho completo para o arquivo cuja existncia sepretende averiguar.ExemploRem Verifica se o arquivo x.txt existe:Set fso = CreateObject(Scripting.FileSystemObject)fRetorno = fso.FileExists(c:\x.txt)if fRetorno = True thenWscript.Echo O arquivo existe!elseWscript.Echo O arquivo no existe!end ifFolderExistsRetornar True se a pasta especificada existir.Set fso = CreateObject(Scripting.FileSystemObject)fRetorno = fso.FileExists(strArquivo)Parmetro DescriostrArquivo Caminho completo para a pasta cuja existncia sepretende averiguar.FileSystemObject

51ExemploRem Verifica a pasta Windows existe:Set fso = CreateObject(Scripting.FileSystemObject)fRetorno = fso.FolderExists(c:\windows)if fRetorno = True thenWscript.Echo A pasta Windows existe!elseWscript.Echo A pasta Windows no existe! Provavelmente voc instalou osistema em outra mquina.end ifGetAbsolutePathNameRetorna o caminho completo da pasta atual em relao aoutra pasta.Set fso = CreateObject(Scripting.FileSystemObject)strCaminho =fso.GetAbsolutePathName(strEspecificao)Parmetro DescriostrEspecificao Umpoucodifcildeexplicarcompalavras.Observeo exemplo abaixo.ExemploRem Partindo do princpio que a pasta atual Meus Documentos, observe ocomportamento do mtodo GetAbsolutePathName:Set fso = CreateObject(Scripting.FileSystemObject)strCaminho = fso.GetAbsolutePathName(c:)Rem Vai exibibir c:\meus documentosWscript.Echo strCaminhostrCaminho = fso.GetAbsolutePathName(roberto)Wscript.Echo strCaminhoRem Vai exibir c:\meus documentos\robertostrCaminho = fso.GetAbsolutePathName(c:\\\)Wscript.Echo strCaminhoRem Vai exibir c:\GetBaseNameRetorna o nome de um arquivo sem a extenso.Set fso = CreateObject(Scripting.FileSystemObject)strNomeDoArquivo = fso.GetBaseName(strCaminho)Parmetro DescriostrCaminho Caminho completo para o arquivo.ExemploRem Retorna o nome do arquivo Notepad.exe:Set fso = CreateObject(Scripting.FileSystemObject)strNomeDoArquivo = fso.GetBaseName(c:\windows\notepad.exe)Wscrtpt.Echo strNomeDoArquivoFileSystemObject

52GetDriveRetorna um objeto Drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)Parmetro DescriostrDrive Uma denominao aceitvel para o drive. Pode seruma letra, uma letra seguida de dois pontos, uma letraseguidadedoispontosedeumabarrainvertida,ouumnome de compartilhamento.GetDriveNameRetorna o nome do drive contido no caminho fornecido.Set fso = CreateObject(Scripting.FileSystemObject)strDrive = fso.GetDriveName(strCaminho)Parmetro DescriostrCaminho Umcaminhonaformaunidadededisco\pasta\arquivo.O mtodo retornar justamente a unidadededisco.GetExtensionNameSimilar ao mtodo GetBaseName(), s que ele retornajustamente a extenso de um arquivo.Set fso = CreateObject(Scripting.FileSystemObject)strExtDoArquivo = fso.GetExtensionName(strCaminho)ExemploRem Retorna a extenso do arquivo Notepad.exe:Set fso = CreateObject(Scripting.FileSystemObject)strExtDoArquivo = fso.GetExtensionName(c:\windows\notepad.exe)Wscript.Echo strExtDoArquivoGetFileRetorna um objeto File para um arquivo existente.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)Parmetro DescriostrArquivo Caminho completo para o arquivo a ser retornado.GetFileNameRetorna o nome do arquivo em um dado caminho.Set fso = CreateObject(Scripting.FileSystemObject)strNomeDoArquivo = fso.GetFileName(strCaminho)Parmetro DescriostrCaminho Caminho completo para o arquivo cujo nome sepretende obter.FileSystemObject

53GetFolderRetorna um objeto Folder para uma pasta existente.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.GetFolder(strPasta)Parmetro DescriostrPasta Caminho completo para a pasta a ser retornada.GetParentFolderNameRetorna a pasta onde est contida a ltima pasta ouarquivo de um caminho.Set fso = CreateObject(Scripting.FileSystemObject)strParentFolder = fso.GetParentFolderName(strCaminho)Parmetro DescriostrCaminho Caminho completo para uma pasta ou arquivo.ExemploRem Retorna a pasta onde est contida a pasta System do Windows:Set fso = CreateObject(Scripting.FileSystemObject)strParentFolder = fso.GetParentFolderName(c:\windows\system)Wscript.Echo strParentFolderGetSpecialFolderRetorna o nome de uma pasta especial do Windows.Set fso = CreateObject(Scripting.FileSystemObject)strSpecialFolder = fso.GetSpecialFolder(intTipo)Parmetro DescriointTipo0 Pasta onde esto instalados os arquivos do Windows(normalmente, C:\Windows ou C:\Winnt).1 Pasta onde esto os arquivos de sistema do Windows(normalmente, C:\Windows\System ouC:\Winnt\System).2 Pastaondesoarmazenadososarquivostemporrios.GetTempNameGera um nome aleatrio de arquivo temporrio que podeser usado pelo mtodo CreateTextFile() em tarefas queexijam a utilizao de arquivos temporrios.Set fso = CreateObject(Scripting.FileSystemObject)ArquivoTemporrio = fso.GetTempNameExemploRem Gera um nome aleatrio de arquivo temporrio para ser utilizado pelomtodo CreateTextFile():Set fso = CreateObject(Scripting.FileSystemObject)ArquivoTemporrio = fso.GetTempNameSet objFile = fso.CreateTextFile(ArquivoTemporrio)Wscript.Echo fso.GetFileName(ArquivoTemporrio)FileSystemObject

54MoveFileMove 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 seromovidos de um volume para o outro se o sistemaoperacional permitir.Set fso = CreateObject(Scripting.FileSystemObject)fso.MoveFile origem, destinoParmetro Descrioorigem Caminho completo para o(s) arquivo(s) a ser(em)movidos(s). Caracteres curinga (*) podem ser usadosno lugar do nome dos arquivos.destino Nova localizao do(s) arquivo(s).ExemploRem Move o arquivo c:\x.txt para a pasta c:\windows\:Set fso = CreateObject(Scripting.FileSystemObject)fso.MoveFile c:\x.txt, c:\windows\MoveFolderMoveumapastaparaoutralocalizao.SimilaraomtodoCopyFolder,noentantoapastadeixadeexistirnaorigem.Set fso = CreateObject(Scripting.FileSystemObject)fso.MoveFolder origem, destinoParmetro Descrioorigem Caminho completo para a pasta a ser movida.Caracteres curinga (*) podem ser usados no lugar donome da pasta.destino Nova localizao da pasta.ExemploRem Move a pasta c:\teste\ para a pasta c:\windows\:Set fso = CreateObject(Scripting.FileSystemObject)fso.MoveFolder c:\teste, c:\windows\OpenTextFileAbreumarquivodetextoeretornaumobjetoTextStream.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura][,fCriarNovo] [,intFormato])Parmetro DescriostrArquivo Caminhocompletoparaoarquivodetextoaseraberto.FileSystemObject

55intModoDeAbertura Indica o que poder ser feito com o arquivodepois de aberto.ForReading Somente leitura.ForWriting Escrita.ForAppending Dados sero anexados ao fim do arquivo.fCriarNovo Booleano. Indica se dever ser criado um novoarquivo caso strArquivo no exista. O padro False.intFormato UmdostrsvaloresTriStateusadosparadefiniro formato de abertura do arquivo.-2 TriStateUseDefault. Usa o padro do sistemapara abrir o arquivo.-1 TriStateTrue. Abre o arquivo como Unicode.0 TriStateFalse. Abre o arquivo como ASCII.ExemploRem Abre o arquivo c:\x.txt para escrita:Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(c:\x.txt, ForWriting, True)Objeto DriveO objeto Drive instanciado atravs da utilizao domtodo GetDrive() do objeto FileSystemObject.Propriedades DescrioAvailableSpace A quantidade de espao disponvel em um drivepara o usurio.DriveLetter A letra que representa o drive.DriveType O tipo do drive.FileSystem O sistema de arquivos em uso.FreeSpace A quantidade de espao livre no drive.IsReady Retornar True se o drive estiver pronto para serusado.Path Caminho para um drive.RootFolder Pasta raiz do drive.SerialNumber Nmero de identificao exclusiva do volume.ShareName Retornaocompartilhamentoderedeparaumdriveespecificado.TotalSize A quantidade de espao em um drive.VolumeName Define ou retorna o nome do volume.Propriedades do objeto DriveAvailableSpaceRetorna a quantidade de espao disponvel para o usuriono drive especificado. Normalmente esse valor ser igualquele retornado pela propriedade FreeSpace.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)intEspao = objDrive.AvailableSpaceFileSystemObject

56DriveLetterRetorna a letra que representa um drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)strLetra = objDrive.DriveLetterDriveTypeRetorna um inteiro indicando o tipo do drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)intTipoDoDrive = objDrive.DriveTypeTipo Descrio0 Desconhecido.1 Removvel (disquete).2 Fixo.3 Drive de Rede.4 Drive de CD-ROM.5 Disco de RAM.FileSystemRetorna 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.FileSystemFreeSpaceRetorna a quantidade de espao livre num drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)intEspao = objDrive.FreeSpaceIsReadyRetornarTrueseodriveestiverprontoparaoperaesdeentrada/sada. Caso contrrio retornar False.Especialmente til para trabalhar com disquetes e CD-ROM.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)fPronto = objDrive.IsReadyFileSystemObject

57PathRetorna o caminho para um drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)strCaminho = objDrive.PathRootFolderEspecifica a pasta raiz de um drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)strPastaRaiz = objDrive.RootFolderSerialNumberRetornaumidentificadordecimalexclusivoparaovolume.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)intID = objDrive.SerialNumberShareNameRetorna o compartilhamento de rede para um drive.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)strCompartilhamento = objDrive.ShareNameTotalSizeRetorna a quantidade total de espao em um drive, embytes.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)intEspaoTotal = objDrive.TotalSizeVolumeNameRetorna ou atribui um nome a um volume.Set fso = CreateObject(Scripting.FileSystemObject)Set objDrive = fso.GetDrive(strDrive)strLetra = objDrive.VolumeNameouobjDrive.VolumeName = strLetraFileSystemObject

58Objeto FileO objeto File instanciado atravs da utilizao do mtodoGetFile() do objeto FileSystemObject.Propriedades DescrioAttributes Obtm ou define atributos de um arquivo.DateCreated Data da criao de um arquivo.DateLastAcessed Data em que um arquivo foi acessado pelaltima vez.DateLastModified Data em que um arquivo foi modificado pelaltima vez.Drive Retorna a letra do drive onde o arquivo reside.Name Define ou retorna o nome do arquivo.ParentFolder Pasta onde o arquivo reside.Path Caminho completo para o arquivo.ShortName Nome do arquivo usando a conveno denomenclatura do MS-DOS (8.3).ShortPath Caminho completo para o arquivo usando aconveno de nomenclatura do MS-DOS.Size Tamanho do arquivo em bytes.Type Retorna informaes sobre o tipo do arquivo.Mtodos DescrioCopy Copia um arquivo para outra localizao.Delete Exclui um arquivo.Move Move um arquivo para outra localizao.OpenAsTextStream Abre um arquivo como sendo um fluxo detexto.Propriedades do objeto FileAttributesRetorna ou define os atributos de um arquivo.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)intAtributos = objFile.AttributesouobjFile.Attributes = intAtributosParmetro Descrio0 Arquivo normal. Nenhum atributo definido.1 Arquivo somente leitura.2 Arquivo oculto.4 Arquivo de sistema.8 Drive de disco.16 Pasta.32 Arquivo foi alterado desde o ltimo backup.64 Atalho.128 Arquivo comprimido.FileSystemObject

59DateCreatedRetorna a data e a hora da criao de um arquivo.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strData = objFile.DateCreatedDateLastAcessedRetorna a data e a hora em que um arquivo foi acessadopela ltima vez.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strData = objFile.DateLastAcessedDateLastModifiedRetorna a data e a hora em que um arquivo foi modificadopela ltima vez.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strData = objFile.DateLastModifiedDriveRetorna a letra do drive onde o arquivo reside.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strLetraDoDrive = objFile.DriveNameDefine ou obtm o nome de um arquivo.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strNome = objFile.NameobjFile.Name = strNomeParentFolderRetorna a pasta onde o arquivo reside.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strPasta = objFile.ParentFolderPathRetorna o caminho completo para o arquivo.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strCaminho = objFile.PathFileSystemObject

60ShortNameFornece o nome do arquivo usando a conveno denomenclatura do MS-DOS (8.3).Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strNomeCurto = objFile.ShortNameShortPathFornece o caminho completo para o arquivo usando aconveno de nomenclatura do MS-DOS (8.3).Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strNomeCurto = objFile.ShortPathSizeRetorna o tamanho de um arquivo em bytes. Se quiserconverter para megabytes, basta dividir o valor retornadopor 1024.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)intTamanhoDoArquivo = objFile.SizeTypeRetornainformaessobreotipodoarquivo.Porexemplo,para um arquivo .txt, retornaria Text Document.AcreditoqueapropriedadeobtenhaessasassociaesemHKEY_CLASSES_ROOT.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)strTipoDoArquivo = objFile.TypeMtodos do objeto FileCopyCopia um arquivo para outra localizao.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)objFile.Copy destino [,fSubstituir]Parmetro Descriodestino Nova localizao do arquivo.fSubstituir Se True, substituir um arquivo existente na novalocalizao que tenha o mesmo nome do arquivo queestiver sendo copiado.FileSystemObject

61ExemploRem 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\DeleteExclui um arquivo.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)objFile.Delete [fForado]Parmetro DescriofForado Booleano. Dever ser True caso o arquivo a serexcludo seja somente leitura.ExemploRem Exclui o arquivo c:\x.txt:Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(c:\x.txt)objFile.DeleteMoveMove um arquivo para outra localizao.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)objFile.Move destinoParmetro Descriodestino Nova localizao do arquivo.ExemploRem 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\OpenAsTextStreamAbreumarquivodetextoeretornaumobjetoTextStream.Set fso = CreateObject(Scripting.FileSystemObject)Set objFile = fso.GetFile(strArquivo)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set FluxoDetexto =objFile.OpenAsTextStream([intModoDeAbertura][,intFormato])FileSystemObject

62Parmetro DescriointModoDeAbertura Indica o que poder ser feito com o arquivodepois de aberto.ForReading Somente leitura.ForWriting Escrita.ForAppending Dados sero anexados no fim do arquivo.intFormato UmdostrsvaloresTriStateusadosparadefiniro formato de abertura do arquivo.-2 TriStateUseDefault. Usa o padro do sistemapara abrir o arquivo.-1 TriStateTrue. Abre o arquivo como Unicode.0 TriStateFalse. Abre o arquivo como ASCII.ExemploRem 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 = 8Set FluxoDeTexto = objFile.OpenAsTextStream(ForWriting)Objeto FolderO objeto Folder instanciado quando so utilizados osmtodos CreateFolder() ou GetFolder() do objetoFileSystemObject.Propriedades DescrioAttributes Obtm ou define atributos de uma pasta.DateCreated Data da criao de uma pasta.DateLastAcessed Data em que a pasta foi acessada pela ltima vez.DateLastModified Data em que a pasta foi modificada pela ltimavez.Drive Retorna a letra do drive onde a pasta reside.Files Retorna uma coleo de objetos File.IsRootFolder Booleano. Determina se a pasta a pasta raizdo volume.Name Define ou retorna o nome da pasta.ParentFolder Pasta dentro da qual a pasta atual reside.Path Caminho completo para a pasta.ShortName Nome da pasta usando a conveno denomenclatura do MS-DOS (8.3).ShortPath Caminho completo para a pasta usando aconveno de nomenclatura do MS-DOS.Size Tamanho do conjunto de todos os arquivos esubpastas contidos dentro da pasta, em bytes.SubFolders RetornaumacoleodeobjetosFoldercontidosna pasta.Type Retorna informaes sobre o tipo da pasta.Mtodos DescrioCopy Copia uma pasta para outra localizao.Delete Exclui uma pasta.Move Move uma pasta para outra localizao.CreateTextFile Cria um arquivo de texto e retorna um objetoTextStream.FileSystemObject

63Propriedades do objeto FolderAttributesDefine ou retorna os atributos de uma pasta. Semelhante propriedade de mesmo nome do objeto File. Alis, osobjetos File e Folder compartilham muitas propriedadese mtodos.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)intAtributos = f.Attributesouf.Attributes = intAtributosParmetro Descrio0 Arquivo normal. Nenhum atributo definido.1 Arquivo somente leitura.2 Arquivo oculto.4 Arquivo de sistema.8 Drive de disco.16 Pasta.32 Arquivo foi alterado desde o ltimo backup.64 Atalho.128 Arquivo comprimido.DateCreatedRetorna a data e a hora da criao de uma pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strData = f.DateCreatedDateLastAcessedRetornaadataeahoraemqueumapastafoiacessadapelaltima vez.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strData = f.DateLastAcessedFileSystemObject

64DateLastModifiedRetorna a data e a hora em que uma pasta foi modificadapela ltima vez.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strData = f.DateLastModifiedDriveRetorna a letra do drive onde a pasta reside.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strLetraDoDrive = f.DriveFilesRetorna a coleo dos objetos File contidos na pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)Set myFiles = f.FilesIsRootFolderRetornarTrueseapastaemquestoforapastaraizdeumvolume; caso contrrio, retornar False.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)fRetorno = f.IsRootFolderNameDefine ou obtm o nome de uma pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strNome = f.Nameouf.Name = strNomeFileSystemObject

65ParentFolderRetorna a pasta dentro da qual a pasta atual reside.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strPasta = f.ParentFolderPathRetorna o caminho completo para a pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strCaminho = f.PathShortNameFornece o nome da pasta usando a conveno denomenclatura do MS-DOS (8.3).Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strNomeCurto = f.ShortNameShortPathFornece o caminho completo para a pasta usando aconveno de nomenclatura do MS-DOS (8.3).Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strNomeCurto = f.ShortPathSizeRetornaotamanhototal,embytes,doconjuntodearquivosesubpastascontidosnapasta.Comonocasodapropriedadede mesmo nome do objeto File, se quiser converter paramegabytes, basta dividir o valor retornado por 1024.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)Set f = fso.GetFolder(strPasta)intTamanhoDaPasta = f.SizeFileSystemObject

66SubFoldersRetornaacoleoFolderscomtodasassubpastascontidasna pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)Set mySubFolders = f.SubFoldersTypeRetorna informaes sobre o tipo da pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)strTipoDaPasta = f.TypeMtodos do objeto FolderCopyCopia uma pasta para outra localizao.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)f.Copy destino [,fSubstituir]Parmetro Descriodestino Nova localizao da pasta.fSubstituir Se True, substituir todos os arquivos homnimosnuma pasta na nova localizao que tenha o mesmonome da pasta que estiver sendo copiada.DeleteExclui uma pasta.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)f.Delete [fForado]Parmetro DescriofForado Booleano.DeverserTruecasoapastaaserexcludaseja somente leitura.FileSystemObject

67MoveMove uma pasta para outra localizao.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)f.Move destinoParmetro Descriodestino Nova localizao da pasta.CreateTextFileO mtodo CreateTextFile() semelhante ao mtodo demesmo nome do objeto FileSytemObject.Set fso = CreateObject(Scripting.FileSystemObject)Set f = fso.CreateFolder(strNovaPasta)ouSet f = fso.GetFolder(strPasta)Set ArquivoDeTexto = f.CreateTextFile(strArquivoTexto[,fSubstituir] [,unicode])Parmetro DescriostrArquivoTexto Nome do arquivo de texto.fSubstituir Se True, substituir um arquivo homnimo peloarquivo que estiver sendo criado. Se False, oarquivo original ser mantido.unicode SeTrue,umarquivoUnicode sercriado.Se Falseou omitido, ser criado um arquivo ASCII.FileSystemObject

68Objeto TextStreamO objeto TextStream instanciado quando da utilizao demtodos dos objetos FileSystemObject, File ou Folder quecriam ou abrem arquivos de texto. Na descrio da sintaxee nos exemplos dos mtodos e propriedades do objetoTextStream, utilizarei o mtodo OpenTextFile() do objetoFileSystemObject.PropriedadesAtEndOfLine Booleano. Determina se o final de uma linha foiatingido.AtEndOfStream Booleano. Determina se o final de um arquivo detexto foi atingido.Column Ponteiro para a coluna atual em um arquivo detexto.Line Ponteiro para a linha atual em um arquivo de texto.MtodosClose Fecha um arquivo de texto.Read L um nmero especfico de caracteres em umarquivo de texto.ReadAll L todo o arquivo de texto.ReadLine L uma linha de um arquivo de texto.Skip Ignora um determinado nmero de caracteresquando lendo um arquivo de texto.SkipLine Ignoratodaumalinhaquandolendoumarquivodetexto.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 TextStreamAtEndOfLineRetornar True se o final de uma linha num arquivo detexto que esteja sendo lido for atingido.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura][,fCriarNovo] [,intFormato])fRetorno = f.AtEndOfLineAtEndOfStreamRetornarTrueseofinaldeumarquivodetextoqueestejasendo lido for atingido.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura][,fCriarNovo] [,intFormato])fRetorno = f.AtEndOfStreamFileSystemObject

69ColumnRetornaumponteiroparaacolunaatualemumarquivodetexto que esteja sendo lido.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura][,fCriarNovo] [,intFormato])intColuna = f.ColumnLineRetornaumponteiroparaalinhaatualemumarquivodetexto.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura][,fCriarNovo] [,intFormato])intLinha = f.LineMtodos do objeto TextStreamCloseFecha um arquivo de texto.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo [,intModoDeAbertura][,fCriarNovo] [,intFormato])f.CloseReadL um nmero especfico de caracteres em um arquivo detexto, retornando a string correspondente.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo, ForReading[,fCriarNovo] [,intFormato])strRetorno = f.Read(intNmeroDeCaracteres)Parmetro DescriointNmeroDeCaracteres Nmero de caracteres a serem lidos doarquivo, a partir da posio atual.ExemploRem L dez caracteres do arquivo c:\x.txt:Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(c:\x.txt, ForReading)strRetorno = f.Read(10)f.CloseWscript.Echo strRetornoFileSystemObject

70ReadAllL todo o arquivo de texto, retornando a stringcorrespondente.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo, ForReading[,fCriarNovo] [,intFormato])strRetorno = f.ReadAllExemploRem L todo o arquivo c:\x.txt:Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(c:\x.txt, ForReading)strRetorno = f.ReadAllf.CloseWscript.Echo strRetornoReadLineL uma linha num arquivo de texto, a partir da linha atual,retornando a string correspondente e movendo o ponteiropara a prxima linha.Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(strArquivo, ForReading[,fCriarNovo] [,intFormato])strRetorno = f.ReadLineExemploRem L as quatro primeiras linhas do arquivo c:\x.txt:Dim ii = 1Set fso = CreateObject(Scripting.FileSystemObject)Const ForReading = 1, ForWriting = 2, ForAppending = 8Set f = fso.OpenTextFile(c:\x.txt, ForReading)Do While f.AtEndOfStream True And i \xdd Localiza o caractere ASCII expresso pelo nmerohexa dd.Por exemplo: \x28" localiza ( ou chr (40).\uxxxx Localiza o caractere ASCII expresso pelo cdigoUnicode xxxx.Por exemplo: \u00A3" localiza .[a-z] Localiza qualquer caractere no intervalo especificado.Porexemplo:aexpresso[a-c]localizaa,bouc.[xyz] Localiza qualquer caractere especificado em [ ].Por exemplo: col[iu]na localiza colina e coluna.[^xyz] Localiza qualquer caractere que no esteja em [ ].Porexemplo:dr[^o]galocalizaqualquercombinao,exceto droga.. Localiza qualquer caractere exceto \n.Por exemplo: a expresso a.b localiza aab e a3b,mas no ab.\w Localiza letras e dgitos. Equivale a [a-zA-Z_0-9].\W Localiza qualquer caractere que no seja letra oudgito. Equivale a [^a-zA-Z_0-9].VBScript

92\d Localiza qualquer dgito. Equivale a [0-9].\D Localiza qualquer no-dgito. Equivale a [^0-9].\s Localiza qualquer caractere espao. Equivale a[ \t\r\n\v\f].\S Localiza qualquer caractere diferente de espao.Equivale a [^\t\r\n\v\f].{x} Localiza exatamente x ocorrncias de uma expressoregular.Por exemplo: a{3} equivale a aaa.(x,} Localiza x ou mais ocorrncias de uma expressoregular. Por exemplo: \s{2,} localiza pelo menos 2caracteres espao.{x,y} Localiza entre x e y ocorrncias de uma expressoregular.Por exemplo: \d{2,3} localiza pelo menos 2, mas nomais que 3 dgitos.? Localiza zero ou uma ocorrncia do caractereprecedente. Equivale a {0,1}.Por exemplo: a expresso casas? localiza amboscasa e casas.* Localiza zero ou mais ocorrncias do caractereprecedente. Equivale a {0,}.Por exemplo: a expresso fo* localiza ambos f efoo.+ Localiza uma ou mais ocorrncias do caractereprecedente. Equivale a {1,}.Por exemplo: a expresso fo+ localiza foo mas nof.() 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:.VBScript

93Informaes AdicionaisSobre o AutorRobertoGomesdeAguiarVeiganaturaldeBeloHorizonte,Minas Gerais, cidade onde reside. Trabalha como Tcnicode Informtica no Servio Federal de Processamento deDados (Serpro), empresa pblica da rea de informticavinculadaaoMinistriodaFazenda.Estlotadoatualmenteno Centro de Especializao BackOffice daSuperintendncia de