Sie sind auf Seite 1von 37

Cada comando uma abreviao em Ingls

Uma coisa que me fez entender bem o batch foi que grande parte dos comandos, so abreviaes de palavras em ingls. Por exemplo: if == se else == do contrrio set == de setting == determinar que for == para goto == go to = v para cls == clear screen == limpa a tela echo == eco == retorno rem == remaking == ignore isso ren == rename == renomear del == delete == excluir shutdown ==shut down == deasativar do == faa off == desativado on == ativado tokens == tokens == saltos delim == delimited == delimitado pause == pausar start == iniciar call == chamar equ == equal == igual neq == not equal == diferente lss == less == menor leq == less or equal == menor ou igual eof == end of file == volte Para o final in == em nul == nulo exit ==sair find ==buscar

Segue abaixo um exemplo de como criar um arquivo bat para fazer backup de arquivos de forma fcil e prtica. 1 - Abra o notepad (menu iniciar > executar > notepad > enter) 2 - Cole o texto abaixo

@echo off cd \

echo ------------------------------------echo Iniciando o backup echo ------------------------------------echo echo -------------------------------------

xcopy "C:\pastaorigem1\" "d:\pastadestino1\" /s /m /y /r xcopy "C:\pastaorigem2\" "d:\pastadestino2\" /s /m /y /r echo ..... echo ------------------------------------echo Backup concluido echo ------------------------------------echo pause

3 - Altere os nomes das pastas e caminhos das pastas de origens e destino conforme sua necessidade. 4 - Clique no menu arquivo e depois salvar como, e no nome do arquivo voc pode colocar por exemplo o nome de "Backup.bat" , pode ser qualquer nome, s no pode esquecer de colocar o .bat no final. Aps isto s executar e testar, qualquer dvida post nos comentrios. Algumas explicaes: /S Copia pastas e subpastas, exceto as vazias. /M Copia somente arquivos com o atributo de arquivamento definido.

/Y Suprime o prompt para voc confirmar se deseja substituir. /R Substitui arquivos somente leitura.

Batch Script - Comando DOS para mapear porta LPT em rede

Descrio: Como

configurar

impressoras

para

imprimir

documentos pelo prompt do MS-DOS. Existem ainda muitos programas que so utilizados em modo DOS, e a maioria deles s imprimem nas portas LPT, ento criei este tutorial para fazer o mapeamento de impressoras conectadas em outros pcs para que elas possam ser usadas via DOS.

Como acessar: Boto Iniciar -> Executar

Digite o comando CMD e clique no boto OK

Digite CD C:\ Digite NET USE

Ser mostrada a tela abaixo:

Vemos em destaque que j existe uma impressora (EpsonLX-) configurada em LPT1. Caso no aparea nenhuma impressora configurada na porta LPT1, usaremos os passos abaixo para configur-la. Digite NET USE <dispositivo> <\\computador\compartilhamento>, onde: - dispositivo: a porta de impressora (LPT1) - computador: o nome do computador onde a impressora est configurada - compartilhamento: o nome dado ao compartilhamento da impressora no

computador onde ela est configurada. Ex.: NET USE LPT1 \\servergx\EpsonLX-

Observaes:
- Para maiores informaes sobre o uso do comando NET USE, digite NET USE /? Caso esteja configurando uma impressora conectada localmente na mquina basta utilizar o comando NET USE <dispositivo> <compartilhamento> - Se no me engano os nmeros da LPT vo at 6. Ou seja, se a LPT1 estiver sendo usada pode usar a LPT2, LPT3 e assim por diante at a 6. - Para apagar o compartilhamento s fazer o seguinte: NET USE LPT1: /DELETE
Batch Script - Cancelar Impresso e Apagar Arquivos Pendente da Impressora

Sabe quando voc tenta cancelar um arquivo que est na fila de impresso e mesmo reiniciando o PC ele continua aparecendo e no deixa que outras impresses na fila continuem seu caminho para a impressora?

Na maioria das vezes o problema est em um servio chamado Spooler, presente no Windows. Para resolver o problema e possvel criar um arquivo .BAT, Ao ser executado esse script para o servio de impresso apaga os arquivos pendentes e reinicia novamente o servio. No Bloco de Notas, crie um arquivo e coloque o seguinte contedo:
-------------------------------c: net stop spooler cd\windows\system32\spool\PRINTERS del /f /s *.shd del /f /s *.spl net start spooler --------------------------------

Salve o arquivo, com a extenso *.bat, e execute o mesmo!

Batch Script Registra DLLs do Windows

Voc j deve ter lido em vrios tutoriais da Internet, alguns comandos para que o seu Windows (ou qualquer programa do Windows) volte a funcionar corretamente apenas Registrando alguma DLL, e isso correto, vamos entender por que: O Windows guarda informaes de vrias funes em

pequenos arquivos chamados de dynamic link libraries, ou para ficar mais simples, apenas DLLs. O sistema armazena informaes sobre os arquivos com a extenso.dll no Registro, mas como nada perfeito, pode ser que este caminho seja corrompido ao longo dos dias, meses ou anos, e por consequncia, o sistema deixa de fazer funes que antes eram executadas com facilidade. Ento, quando qualquer problema estranho acontece com nosso sistema, podemos registrar novamente nossas DLLs principais, vamos aprender como?

Registrando as DLLs

Abaixo vou mostrar como ficaria o arquivo de lote que registra a DLL, claro que para utilizar este exemplo voc deve trocar o nome da DLL deste script pelas que voc esta pretendendo registrar no sistema. Para registrar uma DLL, copie a mesma para

C:Windows\System32, aps isso, No Bloco de Notas, crie um arquivo e coloque o seguinte contedo:

-------------------------------:begin @ ECHO OFF CLS echo. echo. echo. ECHO .............. www.tecnosolution.blogspot.com .............. echo. ECHO REGISTRANDO MIDAS.DLL echo. C: COPY C:\RESWINCS\MIDAS.DLL C:\WINDOWS\SYSTEM32\ cd\ C: cd\WINDOWS\SYSTEM32\ REGSVR32 MIDAS.DLL echo. echo. echo. ECHO REGISTRO EFETUADO COM SUCESSO !!! echo. echo. echo SAINDO. echo SAINDO... echo SAINDO...... echo SAINDO.......... echo SAINDO.......... echo. :Fim ECHO TERMINADO ...... :Final EXIT --------------------------------

Salve o arquivo, com a extenso *.bat, exemplo: Registra.bat e execute o mesmo! No se esquecendo de trocar o nome da DLL e verificando se o caminho est correto, este exemplo supe que a DLL esta no mesmo diretrio do arquivo

Registra.BAT Feito isso a DLL ser registrada e aparecera a mensagem, Registro efetuado Com sucesso !!! Obs: S lembrado! Existem formas mais fceis de fazer isso, porm aqui, eu quis apenas mostrar ao leitor como isso funciona em arquivos de lote (batch script)!

Principais Comandos de Batch Script!

Aqui esto, alguns comandos utilizados em jobs batch. Se voc tiver dvida de algum digite no Prompt de comando: comando/?. Outro modo de v-los digitando help no Prompt de Comando. ECHO [mensagem ou varivel] Escreve na tela ECHO OFF Desactiva as informaes e confirmaes feitas pelo sistema. Como "C:>", "Tem a certeza que deseja fazer tal?"... ECHO ON Activa as informaes e confirmaes do sistema. ECHO. Salta uma linha

SET variavel=valor Cria ou modifica uma de varivel (espao reservado

temporariamente na memria RAM para guardar algumas informaes nmericas, caracteres, positivo/negativo entre outros. No podem ter acento e devem comear com letra). Para chamar a varivel posteriormente basta coloc-la entre "%". Por exemplo: SET nome=Joo ECHO O nome dele %nome% :nomedolink Nomeia um ponto do arquivo de lote permitindo avanar ou voltar execuo a partir daquele ponto. CLS Este comando limpa todo o ecr. CLear Screen. @[Comando] Desativa as informaes e confirmaes feitas pelo sistema apenas para esta linha. IF [condio] ( [aco] ) ELSE ( [aco2] ) Este um comando condicional. "Se condio fazer aco, seno fazer aco2". Por exemplo @ECHO OFF SET nome=Ana IF "%nome%"=="Ana" (

ECHO Oi Aninha! ) ELSE ( ECHO Oi %nome%! ) GOTO [ponto] Avana ou volta a execuo para um ponto do arquivo de lote. FOR /L %%variavel IN (incio,incremento,fim) DO comando [parmetro] Repete um comando vrias vezes fazendo incrementaes at o fim ser atingido.

/L, uma opo do comando FOR que faz as iteraces %%variavel, incrementada incio, o o nome de da varivel da que vai que ser ser

valor

incio

varivel

incrementada

incremento, nmero que ser somado a cada iteraco fim, a repetio ir acabar quando o valor da varivel atingir este valor comando, um comando que ser repetido [parmetro], o parmetro do comando que ser repetido

Por exemplo @ECHO OFF FOR /L %%a IN (1,1,5) DO ECHO O valor de A %%a PAUSE Faz uma pausa e s volta quando o utilizador premir alguma tecla do teclado. REM [comentrio] Este comando no faz absolutamente nada. Ele utilizado

para inserir comentrios nos arquivos.

Todos aqui listados so comandos de MS-DOS que foram criados especificamente para arquivos de lote. Se voc precisar de mais detalhes sobre cada um deles basta digitar no MS-DOS (ou no prompt de comando do Windows) [comando]/? Todos comandos de MS-DOS tambm entram nesta lista incluindo chamadas de outros programas para este sistema.

Condies

Numricas e Caracteres:
o o o o o o o

Igual (EQU ou ==) Diferente (NEQ) Menor que (LSS) Menor ou igual a (LEQ) Maior que (GTR) Maior ou igual a (GEQ) Condio negativa (NOT) Definido (DEFINED [varivel sem %]) Condio negativa (NOT) Existe (EXIST) Condio negativa (NOT)

Variveis:
o o

Em arquivos:
o o

Os smbolos acima vm das seguntes fontes: EQU vem da palavra inglesa EQUals (Igual). NEQ vem da palavra inglesa Not EQuals (No-Igual, diferente) LSS vem da palavra inglesa LeSS (Menor) LEQ vem da palavra inglesa Less or EQuals (Menor ou Igual)

GTR vem da palavra inglesa GreaTeR (Maior) GEQ vem da palavra inglesa Greater or EQuals (Maior ou Igual) NOT uma palavra inglesa que significa No DEFINED uma palavra inglesa que significa Definido EXIST uma palavra inglesa que significa Existe

Caracteres
As condies numricas e de caracteres so iguais, porm avaliam de maneira diferente. Por exemplo, se compararmos "Ana" com Danielle na condio LEQ (Menor ou igual), ser avaliado o tamanho. "Ana" tem 3 letras e "Danielle" tem 8. Ento "Danielle" maior que "Ana" e a condio positiva. Veja como ficaria: @ECHO OFF SET nome1=Ana SET nome2=Danielle REM O resultado da condio abaixo ser positivo IF "%nome1%" LEQ "%nome2%" ( ECHO Positivo ) ELSE ( ECHO Negativo )

Numricas
Nas condies numricas no h mistrio, as duas nicas diferenas entre as condies numricas e de caracteres que nas numricas so avaliados os nmeros, no o tamanho, e que voc no usa aspas. Vamos supor que a Ana tem 23 anos e que a Danielle tem 19. Se compararmos as suas idades respectivamente usando LSS (Menor que) o resultado ser negativo. Veja como ficaria: @ECHO OFF SET ana=23

SET danielle=19 REM O resultado da condio abaixo ser negativo IF %ana% LSS %danielle% ( ECHO Positivo ) ELSE ( ECHO Negativo ) ELSE ( ECHO Negativo )

Arquivos
A condio EXIST verifica se existe algum arquivo. Por exemplo, se existir o arquivo "exemplo.bat" o resultado ser positivo, seno negativo. Veja como ficaria: @ECHO OFF IF EXIST exemplo.bat ( ECHO Positivo ) ELSE ( ECHO Negativo ) Esta condio no para por a. No sistema MS-DOS, voc pode fazer uma "pesquisa" na pasta em que est por um arquivo digitando parte dele. Voc usa "*" para indicar a(s) parte(s) que voc no sabe. Por exemplo, se existir algum arquivo com a extenso ".bat" na pasta atual o resultado ser positivo, seno negativo. Veja como ficaria: @ECHO OFF IF EXIST *.bat (ECHO Positivo ) ELSE ( ECHO Negativo )

Batch Script - Desligando, reiniciando e fazendo logoff no PC pelo comando shutdown!


Programao .BAT

Se voc gosta de fazer download de madrugada ou at mesmo gosta de ouvir musica e sempre dorme esquecendo o computador ligado, com essa dica isso no mais ocorrer! Desligar o PC em horrios pr-programados muito til. Imagine dormir ouvindo uma musiquinha, sem ter a preocupao de desligar o PC, ou seja, deix-lo fazer isso automaticamente por voc? E o Melhor, sem precisar instalar nenhum programa em seu computador apenas utilizando o comando shutdown do Windows.

No shutdown a muitos parmetros legais, confiram alguns deles a seguir!


Sem args Exibir esta mensagem (o mesmo que -?) -l Exibir interface GUI; deve ser a primeira opo -s Desligar o computador -r Desligar e reiniciar o computador -a Anular desligamento do sistema -m \\computername Computador remoto a ser desligado/reiniciado/anulado -t xx Definir tempo limite para desligamento como xx segundos -c "comment" Comentrio sobre desligamento (mximo de 127 caracteres) -f Fora o encerramento da execuo de aplicativos sem avisar -d [u][p]:xx:yy Cdigo de razo para o desligamento u o cdigo de usurio p um cdigo de desligamento planejado

xx o cdigo de razo principal (nmero inteiro positivo menor que 256) yy o cdigo de razo secundrio (nmero inteiro positivo menor que 65536)

Programando o desligamento do PC!


Alguns parmetros podem ser combinados. Por exemplo, queremos desligar o PC em 10 minutos, com a mensagem vou desligar em 10 minutos, ento o comando seria:

shutdown -s -t 600 -c "vou desligar em 10 minutos"


E a mensagem mostrada aps o -c aparecer na caixa de tempo regressivo! Obs: (pode digitar qualquer mensagem!) Legal, no? Mas a voc se arrepende, o que fazer? Um simples shutdown -a aborta o desligamento. E se voc quer desligar o PC instantaneamente, sem esperar as rotinas padres que o Windows faz a cada desligamento? shutdown -s -f resolve o problema. O nmero 600 quantidade de segundos, 10minutosx60. ele trabalha apenas com segundos, por isso fica dessa forma. Para testar estes comandos s ir em iniciar/executar e digitar o comando.

Atalhos
Outra coisa bacana que d para fazer a partir destes comandos criar atalhos, cones com as rotinas do shutdown. Vamos fazer uma. Primeiramente v at a rea de trabalho, vamos criar um atalho para desligar o computador clicando com o boto direito em qualquer parte vazia, em seguida selecione Novo e depois selecione Atalho, no campo de comando digite:

%windir%\System32\SHUTDOWN.exe -s -t 0
Para reiniciar o computador faa o mesmo procedimento e digite este Cdigo.

%windir%\SYSTEM32\shutdown.exe -r -t 0
Para fazer logoff, digite o seguinte cdigo!

%windir%\SYSTEM32\shutdown.exe -l -t 0
Clique em Avanar >. Na tela seguinte, d qualquer nome ao atalho (Desligar, por exemplo), e clique em Concluir. Pronto, seu atalho est criado! Clicando com o boto direito nele, e indo em Propriedades, ainda possvel personaliz-lo com um cone de sua escolha! Outra dica muito importante, caso voc queira programar o tempo de execuo dos atalhos para que desligue ou reinicie em certo tempo necessrio simplesmente alterar o valor "0" dos atalhos pelo nmero em segundos que voc queira que o Windows Exemplos: Desligar em 10 minutos=600 segundos. Logo, o atalho vai ficar: %windir%\System32\SHUTDOWN.exe -s -t 600. Desligar em 30 minutos (meia hora)=1800 segundos. Logo, o atalho vai ficar: %windir%\System32\SHUTDOWN.exe -s -t 1800. Desligar em 1 hora=3600 segundos. Logo, o atalho vai ficar: %windir%\System32\SHUTDOWN.exe -s -t 3600. E assim por diante, As possibilidades no uso dos comandos do shutdown so inmeras, use a imaginao! execute a tarefa solicitada.

Espero que o tutorial lhes seja til, e at a prxima! Obs: Todos os comandos aqui mostrados podem ser feitos tambm no velho e bom bloco de notas, devendo apenas ser salvos com a extenso .bat Exemplo Nomedoarquivo.bat (tudo junto)!

Removedor de vrus/imunizador de Pendrive e HD externo


@echo off title Remover vrus de PenDrive echo Digite a letra da unidade do PenDrive: set /p und= %und%: if exist autorun.inf (goto del) else (goto mkdir) :del ATTRIB -s -r -h autorun.inf DEL /f /q autorun.inf ATTRIB -s -r -h *.cmd ATTRIB -s -r -h *.pif DEL /f /q *.cmd DEL /f /q *.pif goto mkdir :mkdir MKDIR autorun.inf ATTRIB +h +s +r autorun.inf CD autorun.inf MKDIR .\CON\ CD\ if exist empty (goto delempty) else (goto ignore) :ignore CD\ goto fim :delempty ATTRIB -s -r -h empty CD empty ATTRIB -s -r -h /s /d DEL. /f /q CD.. RD empty :fim cls echo. color 2 echo ================================================ echo = Seu pendrive esta imunizado contra vrus. = echo ================================================ echo.

pause>nul exit cls

Remover virus rund1l32.exe do computador (Script)


@echo off echo. color 2 echo Efetuando a alterao no registro ... REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d explorer.exe /f REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d explorer.exe /f echo. echo. echo Removendo o arquivo autorun.inf da raiz taskkill /IM rund1l32.exe /T /F taskkill /IM autorun.inf /T /F c: cd\ attrib -s -r -h autorun.inf del autorun.inf /F /Q echo. echo. echo Criando uma pasta autorun.inf com atributos SHR md autorun.inf attrib +s +r +h autorun.inf cd autorun.inf md .\con\ cd\ echo. echo. echo Removendo outros tipos de arquivos de vrus attrib -s -r -h *.pif attrib -s -r -h *.cmd del *.pif /Q /f del *.cmd /Q /f echo. echo. echo Removendo o arquivo rund1l32.exe de todas as pastas e subpastas echo favor aguardar, pois ira demorar um pouco taskkill /IM rund1l32.exe /T /F taskkill /IM autorun.inf /T /F attrib -s -r -h rund1l32.exe del rund1l32.exe /F /Q /S

cd\ attrib -s -r -h rund1l32.exe /s /d echo. echo. echo Criando uma pasta rund1l32.exe com os atributos SHR cd windows md rund1l32.exe attrib +s +r +h rund1l32.exe echo. echo. echo Removendo o arquivo autorun.inf da pasta SYSTEM32 cd system32 attrib -s -r -h autorun.inf del autorun.inf /F /Q echo. echo. echo Criando uma pasta autorun.inf com os atributos SHR md autorun.inf attrib +s +r +h autorun.inf echo. echo. echo Excluindo arquivos tempor rios del %temp% /Q echo. echo. pause exit cls

Ativador do XP (Script) (Batch)


@echo off title Ativacao do Windows XP cls :main cls echo Ativar seu Windows xP? echo. echo [1] Sim echo [2] Nao set /p rmain=^> if %rmain%==1 goto ati if %rmain%==2 exit :ati cls echo Para ativar aperte qualquer tecla! pause>nul

cls echo Ativando... ( echo Windows Registry Editor Version 5.00 echo. echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents] echo "OOBETimer"=hex:ff,d5,71,d6,8b,6a,8d,6f,d5,33,93,fd )>ativar.reg start ativar.reg cls echo Pronto! echo Deseja reniciar o seu computador? echo. echo [1] Sim echo [2] Nao set /p ren=^> del /q ativar.reg if %ren%==1 shutdown -r if %ren%==2 exit

Adicionar Arquivos em lotes do windows ao menu shell


Esse codigo muito til para quem cria muitos arquivos em lotes, ele gera um atalho para criao de Bats no menu shell do Windows. @echo off echo Windows Registry Editor Version 5.00>> bat.reg echo. >> bat.reg echo [HKEY_CLASSES_ROOT\.bat]>> bat.reg echo @="batfile">> bat.reg echo. >> bat.reg echo [HKEY_CLASSES_ROOT\.bat\PersistentHandle r] >> bat.reg echo @="{5e941d80-bf96-11cd-b579-08002b30bfeb }" >> bat.reg echo.>> bat.reg echo [HKEY_CLASSES_ROOT\.bat\ShellNew] >> bat.reg echo "NullFile"="" >> bat.reg echo "Data"="@echo off" >> bat.reg bat.reg del bat.reg exit

Abre um monte de blocos de nota at travar o pc (Script) (virus)


@echo off :lol start notepad.exe

goto lol exit

Um Arquivo para Uploads/Downloads numa sesso FTP.


Um belo dia estava eu fazendo a manuteno na minha hp usando o DOS, quando me veio a cabea, "P, devia ter um jeito mais prtico de fazer uploads e downloads usando o DOS". E dai eu fui abenoado por um raio de luz, logo em seguida eu descobri que a idia ja havia sido inventada, mas, que diabos, til de qualquer forma. O arquivo de lote seguinte, demonstra como fazer uploads/downloads de arquivos de um servidor ftp para a mquina local, usando o mtodo de script.

::FTPBAT.bat @ECHO OFF :: Checa se a Senha Foi dada IF "%1"=="" GOTO script :script :: Cria o script temporrio > script.ftp ECHO nome_de_usuario >>script.ftp ECHO %1 >>script.ftp ECHO cd home/files >>script.ftp ECHO binary >>script.ftp ECHO prompt n >>script.ftp ECHO mget *.* >>script.ftp ECHO bye :: Usa o script paraa sesso FTP FTP -v -s:script.ftp ftp.meuserv.com :: Para os organizadinhos: Para no sobrar restos do arquivo. TYPE NUL >script.ftp DEL script.ftp GOTO End :Sintaxe ECHO Modo de Usar: %0 Senha :End

Ok, parece difcil mas no , vamos l. @ECHO OFF - duh...... IF "%1"=="" GOTO script - Isso significa que o que foi digitado depois de FTPBAT seja interpretado como a sua senha para a sesso ftp.

> script.ftp ECHO nome_de_usuario - Aqui comea a construo do script, importante no ter nenhum erro para a sesso no sair um desastre, nesse campo ponha o seu username depois de "echo".

>>script.ftp ECHO %1 - nesse campo vai a senha digitada logo depois do arquivo

>>script.ftp ECHO cd home/files >>script.ftp ECHO binary Essas linhas so opcionais, se voc >>script.ftp ECHO prompt n Conhece bem os comandos de FTP, >>script.ftp ECHO mget *.* Poder utiliz-los da forma como >>script.ftp ECHO bye Quiser.

FTP -v -s:script.ftp ftp.meuserv.com - essa linha abre a sesso FTP usando a opo -v para no mostrar todo o processo e a opo -s para usar um script prviamente feito, logo em seguida o seu servidor ftp. Na hora de rodar o arquivo basta digitar FTPBAT senha. Mas se voc quiser deixar tudo mais automatizado ainda, voc pode rodar o arquivo sem precisar digitar sua senha basta substituir a linha "IF "%1"=="" GOTO script" por "IF "%1"=="senha" GOTO script" e trocar a linha ">>script.ftp ECHO %1" por ">>script.ftp ECHO senha".

Brincando com RunDll. Isso demais! Eu achei essas linhas de comandos rolando por ai na net e achei que no deveriam deixar de postar aqui. O arquivo Rundll um arquivinho que tem muitas funes diversificadas para se explorar tambm fcil de usar, basta digitar a linha de comando direto no ms-dos ou implement-las nos seus arquivos de lote. Veja alguns exemplos: Para abrir a tela de formatao de disquete 1/2 (A:): rundll32.exe shell32.dll,SHFormatDrive Para abrir a tela de configurao de data/hora: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl Para abrir a tela de configurao da tela (desktop): rundll32.exe shell32.dll,Control_RunDLL desk.cpl Abrir a tela de configurao da tela mas na 3 guia: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,@0,2 Para abrir a tela de Configurao de Rede: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl

para abrir a tela de configurao do sistema: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl

Abrir DUN (arquivo de exportao dial up networking): rundll32.exe rnaui.dll,RnaRunImport inicia conexo dial up pelo nome rundll32.exe rnaui.dll,RnaDial %1

Chamar URL rundll32.exe msconf.dll,CallToProtocolHandler %l Abrir determinada URL: rundll32.exe shdocvw.dll,OpenURL %l Logar no Telnet rundll32.exe url.dll,TelnetProtocolHandler %l Email Outlook EML: rundll32.exe c:\windows\SYSTEM\mailnews.dll,EMLFileHandler News Outlook NWS: rundll32.exe c:\windows\SYSTEM\mailnews.dll,News_RunDLL Arquivo URL: rundll32.exe url.dll,FileProtocolHandler %l URL Mailto: rundll32.exe c:\windows\SYSTEM\mailnews.dll,Mail_RunDLL

Novo Porta-Arquivos C:\WINDOWS\rundll32.exe syncui.dll,Briefcase_Create %1!d! %2 Novo Atalho RunDLL32 AppWiz.Cpl,NewLinkHere %1 Abrir arquivo aif rundll32 amovie.ocx,RunDll %1

Rodar aif rundll32 amovie.ocx,RunDll /play /close %1 Abrir arquivo auf C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /open %1 Rodar auf C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /play /close %1 Abrir arquivo avi C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /open %1 Rodar avi C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /play /close %1

Imprimir um arquivo html rundll32.exe C:\WINDOWS\SYSTEM\MSHTML.DLL,PrintHTML "%1"

Abrir midi C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /open %1 Rodar midi C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /play /close %1 Abrir arquivo MOV rundll32 amovie.ocx,RunDll %1 Rodar MOV rundll32 amovie.ocx,RunDll /play /close %1 Abrir arquivo MPEG C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /open %1 Rodar MPEG

C:\WINDOWS\rundll32.exe C:\WINDOWS\SYSTEM\amovie.ocx,RunDll /play /close %1

Abrir um arquivo Desconhecido C:\WINDOWS\rundll32.exe shell32.dll,OpenAs_RunDLL %1 Instalar Screensaver C:\WINDOWS\rundll32.exe desk.cpl,InstallScreenSaver %l BRINCANDO COM O REGISTRO Ok, agora 3 arquivos de lote que podem ser usados juntos (combinados), que te d informaes, s vezes necessrias que seriam Nome de Usurio logado no windows, nome de usurio logado na rede (Network) e nome do computador(voc nunca sabe quando vai precisar disso). Com uma ajudinha do velho e no recomendado para leigos, Regedit. Ok, Esse arquivo aqui te d o nome usuario logado no win @echo off echo d o nome de usurio windows. start /w regedit /e reg.txt HKEY_LOCAL_MACHINE\System\CurrentControlSet\contro l type reg.txt | find "Current User" > "Current#User.bat" echo set CurrentUser=%%1>"Current User.bat" call "Current#User.bat" del "Current?User.bat" > nul del reg.txt > nul echo Nome de Usuario do Windows echo %CurrentUser% pause

E esse, diz o usurio logado na rede

@echo off start /w regedit /e reg.txt HKEY_LOCAL_MACHINE\Network\Logon type reg.txt | find "username" > "us#rname.bat" echo set NetUser=%%1>"username.bat" call "us#rname.bat" del "us?rname.bat" > nul del reg.txt > nul echo nome de usuario da rede

echo %NetUser% pause

E por ltimo esse diz o nome do pc

@echo off start /w regedit /e reg.txt HKEY_LOCAL_MACHINE\System\CurrentControlSet\contro l\computername\computername type reg.txt | find "Computername" > "Current#User.bat" echo set CurrentUser=%%1>"Current User.bat" call "Current#User.bat" del "Current?User.bat" > nul del reg.txt > nul echo Nome do Computador echo %CurrentUser%

Explicao:

start /w regedit /e reg.txt HKEY_LOCAL_MACHINE\System\CurrentControlSet\contro l Essa extensa linha de comando inicia o Editor de Registro do Windows na chave j especificada, e transfere todo o seu contedo para o arquivo reg.txt type reg.txt | find "Current User" > "Current#User.bat" O comando type transfere todo o contedo do arquivo de texto para que o comando "find" encontre a informao especificada entre aspas e transfira para o arquivo de mesmo nome. echo set CurrentUser=%%1>"Current User.bat" Aqui, o arquivo "current user.bat" recebe a linha de comando que insere a variavel de ambiente "CurrentUser" que ser determinada para "%%!" call "Current#User.bat" O arquivo "Current User" chamado e executado

del "Current?User.bat" > nul E aqui ele "retorna fonte" por no ser mais til. echo %CurrentUser% Aqui essa varivel de ambiente ser transformada na informao desejada.

Repare que no arquivo para exibir o nome do computador a base a mesma do script do "Nome de Usurio', bastando apenas modificar o chave do registro. COMO FAZER O ARQUIVO DE LOTE SE FECHAR DEPOIS DE CONCLUDO? Outra perguntinha impertinente. Quando voc roda o arquivo fora do DOS (clicando nele), s vezes quando ele termina, a janela do prompt fica aberta com o titulo "concludo". Para evitar isso: Limpe a tela ! simplesmente adicione ao final do arquivo cls

Antes que algum venha me dizer que basta digitar "exit", me deixe dizer que nem sempre funciona. Portanto s pra ter certeza:

@echo off exit cls RODANDO UM ARQUIVO DE LOTE "INVISVELMENTE" Bem, uma pergunta que s aqueles que manjam um pouco de arquivos de lote costumam fazer: Como fazer um arquivo rodar sem mostrar o prompt de comando? Aqui esto algumas respostas. H um modo fcil mas no muito til de acordo com as suas intenes, que clicar com o boto direito no arquivo, ir em propriedades e colocar ele pra rodar minimizado. Isso ir gerar um atalho com a extenso ".pif"

Outro modo iniciar o arquivo com o comando "start /min". possvel incorporar o arquivo da seguinte forma, a explicao seguir cada comando:

@echo off cls echo del *.* c:\tmp >arquivo1.bat start /min c:\dir\arquivo1.bat @echo off dispensa explicaes cls limpa a tela do dos mas acho que voc deve saber disso echo del *.* c:\tmp >arquivo1.bat O caractre de redirecionamento ">" precedido de "echo" envia o comando "del *.* c:\tmp", para dentro do comando arquivo1.bat, que se no existir ser criado assim mesmo. start /min c:\dir\arquivo1.bat o comando "start" inicia o programa arquivo1.bat que, atravs da opo "/min" inicia minimizado sem que a tela aparea, no entanto o boto da janela aparece na barra de tarefas

Mas o modo mais legalz, o usar um script de VBS. Mas um pouquinho perigoso porque voc tem que ter certeza que o arquivo ir terminar e se fechar,e que nenhum erro ocorra necessitando de interveno do usurio, porque seno, o programa ficar aberto at que voc finalize-o usando (uma vez que ele ficar totalmente invisvel) ctrl+alt+del. Vamos l, voc pode fazer isso no DOS mesmo ou at usar um arquivo de lote pra isso: copy con invisivel.vbs CreateObject("Wscript.Shell").Run WScript.Arguments(0), 0, False

copy con invisivel.vbs Aqui, voc ir criar os script vbs que tornar seu arquivo invisivel, s entrar com essa linha CreateObject("Wscript.Shell").Run WScript.Arguments(0), 0, False

Da pra rodar s: wscript.exe "C:\dir\invisivel.vbs" "C:\arquivo.bat" (com aspas mesmo) wscript.exe = Windows Script Hosting, serve para rodar scripts Sintaxe: wscript.exe "script"

OBS: Se voc quiser usar para fins malficos, saiba que antivrus, detectam qualquer script de vbs ;) COMO BURLAR O "VOC TEM CERTEZA? (S/N)" As vezes voc tenta automatizar uma determinada funo do arquivo de lote e de repente tudo para por causa daquela pergunta (por sinal muito chata) "Voce Tem certeza? (S/N)". Bom para driblar isso existem os seguintes mtodos: 1- Supomos que voc v rodar o comando chkdsk em busca de erros no seu drive c:, e use a opo /f para corrigir os erros encontrados. At a tudo bem, mas caso ele encontre um erro ele vai pedir que voc digite "S" ou "N" (Dependendo do DOS talvez ele pea Y/N). Isso se resolve usando uma simples linha de comando:

ECHO S|CHKDSK /F ou ECHO N|CHKDSK /F O Funcionamento simples, o carctere "|" "echoa" a resposta para o comando chkdsk /f e o comando por s, o interpreta como a resposta para a ao seguinte.

2- Se no caso voc s precisar pressionar "enter", voc poderia simplesmente fazer isso : ECHO. |CHKDSK /F

Nesse caso o caractre "|" simplesmente envia um comando nulo que no caso igual ao "enter" do teclado para o chkdsk /f.

3- Mas ! se voc tiver que pressionar "S" E DEPOIS "enter", a a coisa j fica um pouco mais complicada. Nesse caso voc ter que criar o que se pode chamar de script contendo as teclas que tero de ser digitadas. Voc no precisar cri-lo fora do arquivo:

ECHO S>SCRIPT.TXT ECHO.>>SCRIPT.TXT TYPE SCRIPT.TXT|CHKDSK /F del SCRIPT.TXT

Usando o caractre de redirecionamento de dados ">" precedido de "S" ou "N" cria um arquivo da sua preferncia (a extenso tambm).J a linha seguinte ter de conter ">>" isso indica que deve-se adicionar o caractre equivalente a "enter" ao fim do script.txt, caso voc use apenas ">" isso ir sobrescrever o arquivo previamente criado. A linha seguinte usa o comando "type", que serve para ler e imprimir na tela o contedo de um arquivo, acompanhado do "|" ele transfere o contedo do script.txt que interpretado pelo chkdsk /f como "S" ou "N" e depois "enter". No caso do comando del, algumas dessas dicas no funcionam, mas esse comando tem o seu prrpio jeito de burlar a pergunta chata: del *.* Os arquivos sero excludos Tem certeza? (S/N) DEL *?.* Excluindo... Estranho n ? mas funciona. CRIANDO UM ARQUIVO DE LOG Voc pode criar com arquivos de lote, um modo de monitorar os acessos no seu computador. Voc pode saber quando e que horas ele foi acessado. Para isso basta adicionar as seguintes linhas no seu autoexec.bat:

@echo off echo. |date >>log.txt echo. |time >>log.txt Explicao geral: echo. |date >>log.txt Aqui "echo." equivalente ao enter do teclado. Ele canalizado atravs da "|" para os comandos "date" e "time", que por sua vez, tendo enter como comando do usurio pulam a insero de nova data e hora, e a data e hora atual so enviadas para o arquivo log.txt. Comandos no muito conhecidos

Comandos teis > - um comando de redirecionamento de dados e tambm serve para criar
um arquivo inexistente Sintaxe: dados > destino dados - pode ser um comando ou contedo de um arquivo ou um arquivo Obs: Se voc redirecionar dados para um arquivo J existente, voc ir subscrev-lo. Para evitar isso, use ">>" (sem as aspas)

| - "Shift + barra invertida". O mesmo que o anterior s que ao invs de enviar


dados para arquivos, envia para comandos. Sintaxe: dado | comando Type - Exibe o contedo de um arquivo Sintaxe : type arquivo.ext Find - Procura um texto em um ou mais arquivos. copy con - Abre um "editor" instantneo direto na tela do ms-dos. Para encerrar a edio pressione "F6" e depois "enter". Sintaxe: copy con arquivo.ext @ - O caractere arroba, precedido de um comando serve para ocultar na tela do ms-dos a execuo do comando especificado. Sintaxe: @comando

OBS: No ser de muito uso caso se tenha usado @echo off no incio do

arquivo. Start - Equivale ao "executar" localizado no menu iniciar, pressione "start /?" no ms-dos para saber mais sobre suas funes e opes Sintaxe: start arquivo.ext ou comando FOR - Meio complicado de usar, mas til. Serve para realizar uma mesma funo ou comando 2 vezes ou mais. Sintaxe: FOR %%varivel IN (conjunto) DO comando [parmetros] %%varivel - Define um parmetro substituvel. (conjunto) - Entre parenteses, defina aqui um conjunto de arquivos, pode ser usado variveis. comando - Define o comando a ser executado para cada arquivo dentro do conjunto. [parmetros] - defina aqui os parmetros ou opes para o comando.

Exemplo: for %%x IN (*.txt *.doc) do copy %%x c:\doc A:\ Aqui, o comando "for" copia todos os arquivos .txt e .doc do diretrio c:\doc para o disquete no drive a: :: - Serve para fazer anotaes no arquivo de lote. til quando se est trabalhando em um arquivo complexo. Sintaxe: ::qualquer coisa OBS: Tudo que precedido por "::" no mostrado ou executado durante a execuo do arquivo de lote.

Tirando informao desnecessria da tela.


Nem sempre o "@echo off" oculta as informaes dos comandos executados no ms-dos. Como o caso do comando "del" por exemplo. Mesmo o echo estando desligado a mensagem "excluindo" aparece, ou quando se copia um arquivo a mensagem "N arquivo(s) copiado(s)". Bom, o truque para evitar isso muito simples, basta redirecionar a informao do comando executado para "nada". Vejamos: @echo off deltree /y *.* Excluindo... c:\>

@echo off deltree /y *.* >nul c:\>

Deu pra notar a diferena ? Transferindo contedo de arquivos Voc pode transferir um contedo de um arquivo para outro ou para um comando usando: Type arquivo.ext > arquivo.ext No caso de um comando: Type arquivo.ext | comando ou Type "letra" | comando (sem aspas) Parmetros de substituio Essa dica precisa de um pouco de ateno para voc entender bem. Um parmetro de substituio um caractre usado para substituir nomes de arquivos. Quando voc escreve o arquivo de lote e usa o PS (pra abreviar vai), ele no sera mostrado na hora da execuo do arquivo, ou seja, o PS ir se substituir para o nome do arquivo. Exemplificando: copy con mundo.bat @echo off echo ola %0 1 Arquivo(s) Copiado(s)

c:\> mundo ola mundo c:\> Como voc pde notar os caractres %0 no foram exibidos, mas no lugar deles, o nome do arquivo executado, ou seja, mundo. Um outro exemplo

copy con sou.bat @echo off echo Eu sou um cara %1 1 arquivo(s) Copiado(s) Se voc executar o programa somente digitando o nome do arquivo vai acontecer isso: c:\> sou Eu sou um cara C:\>

Ou seja no aconteceria nada com o caractre %1. Mas veja se voc digitar a palavra "legal" depois do nome do arquivo: c:\> sou legal Eu sou um cara legal c:\> O caractre %1 substitui dados que so inseridos depois do nome do arquivo: c:\> sou idiota Eu sou um cara idiota Obs: No leve esse exemplo em considerao, s um exemplo ;)

IP'Optimizar com batch Aqui alguns comando para otimizar seu pc pelo o prompt: 1: windows iniciar mais rapido: Bootcfg /timeout 10 Optimizao no Boot REG ADD "HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" /v Enable /t REG_SZ /d Y /f REG ADD "HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" /v OptimizeComplete /t REG_SZ /d Yes /f

Menu Iniciar Mis Rpido REG ADD "HKCU\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 100 /f REG ADD "HKU\.DEFAULT\Control Panel\Deskstop" /v MenuShowDelay /t REG_SZ /d 100 /f

Aumentar a Taxa de Upload REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters" /v DefaultSendWindow /t REG_DWORD /d 0x00018000 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v EnablePMTUDiscovery /t REG_DWORD /d 0x00000001 /f Limpeza de Disco Mais Eficaz (Preveno contra Travamentos) REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCa ches\Compress old files" /f Otimizao TCP/IP REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters" /v SizReqBuf /t REG_DWORD /d 0x00014596 /f REG ADD

"HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v class /t REG_DWORD /d 0x00000001 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v DnsPriority /t REG_DWORD /d 0x00000007 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v HostsPriority /t REG_DWORD /d 0x00000006 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v LocalPriority /t REG_DWORD /d 0x00000005 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v NetbtPriority /t REG_DWORD /d 0x00000008 /f Otimizao para o Cache de DNS REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v CacheHashTableBucketSize /t REG_DWORD /d 0x00000001 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v CacheHashTableSize /t REG_DWORD /d 0x00000180 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v MaxCacheEntryTtLimit /t REG_DWORD /d 0x0000fa00 /f REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v MaxSOACacheEntryTtLimit /t REG_DWORD /d 0x0000012d /f Limpar Arquivos Temporrios do Internet Explorer REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache" /v Persistent /t REG_DWORD /d 0x00000000 /f Copie e cole o codigo na janela do prompt e d enter caso de errado aparecera um aviso de erro.

Das könnte Ihnen auch gefallen