Translate

sábado, 12 de outubro de 2013

Programação em batch

E aí galera, dessa vez eu venho com algo simples, porem,  inesperado ...

Programação em batch. Para quem não sabe, .bat é uma extenção de arquivo que executa algo no sistema operacional do Windows; só para esclarecer, podemos afirmar de uma forma grosseira, que o WIN é uma maquiagem do DOS.

Neste linguagem vamos perceber vários comandos que se assemelham com o DOS, por exemplo: cd.. , dir e outros.

É muito fácil criar um arquivo executavel em batch, basta escrever o programa em um bloco de notas (notepad), e salvar como substituindo a extenção do arquivo de .txt para .bat.

Veja o exemplo abaixo:

teste.txt ficaria teste.bat

Agora vejamos alguns comandos listados abaixo:

Para obter mais informações sobre um comando específico, digite: nome_do_comando /?

ASSOC - exibe ou modifica associações de extensäes de arquivo.
AT - agenda comandos e programas para serem executados em um computador.
ATTRIB - exibe ou altera atributos de arquivos.
BREAK - define ou limpa a verifica‡Æo estendida CTRL+C.
CACLS - exibe ou modifica listas de controle de acesso (ACLs) de arquivos.
CALL - chama um programa em lotes a partir de outro.
CD - exibe o nome da pasta atual ou faz altera‡äes nela.
CHCP - exibe ou define o n£mero da p gina de c¢digo ativa.
CHDIR - exibe o nome da pasta atual ou faz altera‡äes nela.
CHKDSK - verifica um disco e exibe um relat¢rio de status.
CHKNTFS - exibe ou modifica a verifica‡Æo do disco na inicializa‡Æo.
CLS - limpa a tela.
CMD - inicia uma nova instƒncia do interpretador de comandos do Windows.
COLOR - define as cores padrÆo de primeiro plano e do plano de fundo do console.
COMP - compara o conte£do de dois arquivos ou grupos de arquivos.
COMPACT - exibe ou altera a compacta‡Æo de arquivos em parti‡äes NTFS.
CONVERT - converte volumes FAT em NTFS. NÆo ‚ poss¡vel converter a
unidade atual.
COPY - copia um ou mais arquivos para outro local.
DATE - exibe ou ajusta a data.
DEL - Exclui um ou mais arquivos.
DIR - exibe uma lista de arquivos e subpastas em uma pasta.
DISKCOMP- compara o conte£do de dois disquetes.
DISKCOPY- copia o conte£do de um disquete para outro.
DOSKEY - edita linhas de comando, volta a chamar comandos do Windows e cria macros.
ECHO - exibe mensagens ou ativa ou desativa o eco de comandos.
ENDLOCAL -encerra a localizaçõo de alterações de ambiente em um arquivo em lotes.
ERASE - Exclui um ou mais arquivos.
EXIT - sai do programa CMD.EXE (interpretador de comandos).
FC - compara dois arquivos ou grupos de arquivos e exibe as diferen‡as
entre eles.
FIND - procura uma sequência de texto em um arquivo ou arquivos.
FINDSTR - procura sequências de texto em arquivos.
FOR - executa um determinado comando para cada arquivo em um grupo de arquivos.
FORMAT - formata um disco para uso com o Windows.
FTYPE - exibe ou modifica os tipos de arquivo utilizados em associa‡äes de extensäes de arquivos.
GOTO - direciona o interpretador de comandos do Windows para uma linha identificada em um
programa em lotes.
GRAFTABL -permite que o Windows exiba um conjunto de caracteres estendidos em modo
grafico.
HELP - fornece informa‡äes de ajuda sobre comandos do Windows.
IF - realiza processamento condicional em arquivos em lotes.
LABEL - cria, altera ou exclui o r¢tulo de volume de um disco.
MD - Cria um diret¢rio.
MKDIR- Cria um reates a directory.
MODE - Configura um dispositivo do sistema.
MORE - exibe a sa¡da fazendo pausa a cada tela.
MOVE - move um ou mais arquivos de uma pasta para outra pasta.
PATH - exibe ou define um caminho de pesquisa para arquivos execut veis.
PAUSE - suspende o processamento de um arquivo em lotes e exibe uma mensagem.
POPD - restaura o valor anterior da pasta atual salva por PUSHD.
PRINT - Imprime um arquivo de texto.
PROMPT - altera o prompt de comando do Windows.
PUSHD - salva a pasta atual e, em seguida, altera a mesma.
RD - Remove uma pasta.
RECOVER - recupera informa‡äes ainda compreens¡veis de um disco defeituoso ou danificado.
REM - grava coment rios (observa‡äes) em arquivos em lotes ou no CONFIG.SYS.
REN - altera o nome de um arquivo ou arquivos.
REName -altera o nome de um arquivo ou arquivos.
REPLACE - substitui arquivos.
RMDIR - Remove uma pasta.
SET - exibe, define ou remove vari veis de ambiente do Windows.
SETLOCAL- inicia a localiza‡Æo de altera‡äes de ambiente em um arquivo em lotes.
SHIFT - altera a posi‡Æo dos parƒmetros substitu¡veis em um arquivo em lotes.
SORT - classifica a entrada.
START - inicia uma janela separada para executar um programa ou comando especificado.
SUBST - associa um caminho a uma letra de unidade.
TIME - exibe ou ajusta a hora do sistema.
TITLE - define o t¡tulo da janela para uma sessÆo do CMD.EXE.
TREE - exibe graficamente a estrutura de pastas de uma unidade ou caminho.
TYPE - exibe o conte£do de um arquivo de texto.
VER - exibe a versÆo do Windows.
VERIFY - faz com que o Windows verifique se os arquivos estÆo gravados
corretamente em um disco.
VOL - exibe um r¢tulo e n£mero de s‚rie de volume de disco.
XCOPY - copia arquivos e rvores de pastas.

AVANÇADOS:

- Alguns dos grandes comandos de linha do Windows:

Bootcfg
Permite ver as configurações do seu menu de boot

Defrag
Desfragmentador de disco. Oferece as seguintes opções:
-a Apenas analisar
-f Fará a desfragmentação mesmo que haja pouco espaço livre.
-v Saída detalhada
-? Exibir tópico de ajuda.

Diskpart
Gerencia as partições de um disco.

Driverquery
Mostra a lista de drivers instalados no Windows e as respectivas propriedades.

Fsutil
O comando fsutil tem vários complementos que serão listados digitando-o sem nenhum parâmetro. Digite fsutil fsingo drives e terá a lista dos drives no seu micro.

Gepresult
Este comando mostrará configurações de usuários e de diretivas de grupos.

Recover
Permite a recuperaçãoo de arquvios em disco danificado.

Reg
Comando para exportar chaves do registro, copiar, restaurar, comparar, etc.

Schtasks
Para agendar, executar, alterar ou deletar tarefas numa máquina local ou remota com Windows.

SFC
Comando que permite verificar arquivos de sistemas alterados de forma indevida e recuperar os arquivos originais e oficiais da Microsoft., o que nem sempre será recomendável. Por exemplo, o arquivo uxtheme.dll modificado para permitir o uso de temas voltaria a ser substituído pelo original.

Shutdown
O comando shutdown permite desligar ou reiniciar o computador de forma imediata ou agendada.

Systeminfo
Fornece informações básicas sobre o sistema.

Tasklist
Mostra a lista de processos sendo executados no Windows.

Taskkill
Permite finalizar algum processo. O comando é quase sempre usado com base nas informações fornecidas pelo tasklist. Por exemplo, para finalizar o Messenger digite "taskkill /PID 1680". A identificação do PID de cada processo sendo executado você ficará sabendo com o comando tasklist.


Diversos outros comandos que você poderá usar no prompt do Windows:

ASSOC
Exibe ou modifica associações de extensões de arquivo.

AT
Agenda comandos e programas para serem executados em um computador.

ATTRIB
Exibe ou altera atributos de arquivos.

BOOTCFG
Mostra o boot.ini no prompt de comando

BREAK
Define ou limpa a verificação estendida CTRL+C.

CACLS
Exibe ou modifica listas de controle de acesso (ACLs) de arquivos.

CALL
Chama um programa em lotes a partir de outro.

CHCP
Exibe ou define o número da página de código ativa.

CHKDSK
Verifica um disco e exibe um relatório de status.

CHKNTFS
Exibe ou modifica a verificação do disco na inicialização.

CLS
Limpa a tela

CMD
Abre uma outra janela de prompt.

COLOR
Define as cores padrão de primeiro plano e do plano de fundo do console

COMP
Compara o conteúdo de dois arquivos ou grupos de arquivos.

COMPACT
Exibe ou altera a compactação de arquivos.

CONVERT
Converte volumes FAT em NTFS.

COPY
Copia um ou mais arquivos para outro local.

DATE
Mostra a data atual e permite alterá-la.

DISKCOMP
Compara o conteúdo de dois disquetes.

DISKCOPY
Copia o conteúdo de um disquete para outro.

DISKPART
Faz particionamento de disco

DOSKEY
Edita linhas de comando, volta a chamar comandos do Windows e cria macros.

ECHO
Exibe mensagens ou ativa ou desativa o eco de comandos.

ENDLOCAL
Encerra a localização de alterações de ambiente em um arquivo em lotes.

EXIT
Sai do programa CMD.EXE (interpretador de comandos).

FC
Compara dois arquivos ou grupos de arquivos e exibe as diferenças entre eles.

FIND
Procura uma sequência de texto em um arquivo ou arquivos.

FINDSTR
Procura sequência de texto em arquivos.

FOR
Executa um determinado comando para cada arquivo em um grupo de arquivos.

FORMAT
Formata um disco rígido ou disquete.

FTYPE
Exibe ou modifica os tipos de arquivo utilizados em associações de extensões de arquivos.

GOTO
Direciona o interpretador de comandos do Windows para uma linha identificada em um programa em lotes.

GRAFTABL
Permite que o Windows exiba um conjunto de caracteres estendidos em modo gráfico.

HELP
Fornece informações de ajuda sobre comandos do Windows.

HOSTNAME
Dá o nome do host

IF
Realiza processamento condicional em arquivos em lotes.

IPCONFIG
Mostra detalhes das configurações de IP

LABEL
Cria, altera ou exclui o rótulo de volume de um disco.

MODE
Configura um dispositivo do sistema.

MORE
Exibe a saída fazendo pausa a cada tela.

MOVE
Move um ou mais arquivos de uma pasta para outra pasta.

PAGEFILECONFIG
Configura memória virtual

PATH
Exibe ou define um caminho de pesquisa para arquivos executáveis.

PAUSE
Suspende o processamento de um arquivo em lotes e exibe uma mensagem.

PING
Checa sua conexõo de rede disponível

POPD
Restaura o valor anterior da pasta atual salva por PUSHD.

PRINT
Imprime um arquivo de texto.

PROMPT
Altera o prompt de comando do Windows.

PUSHD
Salva a pasta atual e, em seguida, altera a mesma.

REM
Grava comentários (observações) em arquivos em lotes.

REPLACE
Substitui arquivos.

ROUT
Mostra detalhes do parâmetro da interface de rede

SCHTASKS
Agenda e executa algum processo

SET
Exibe, define ou remove variáveis de ambiente do Windows.

SETLOCAL
Inicia a localização de alterações de ambiente em um arquivo em lotes.

SHIFT
Altera a posição dos parâmetros substituíveis em um arquivo em lotes.

SORT
Classifica a entrada.

START
Inicia uma janela separada para executar um programa ou comando especificado.

SUBST
Associa um caminho a uma letra de unidade.

TITLE
Define o título da janela para uma sessão do CMD.EXE.

TREE
Exibe graficamente a estrutura de pastas de uma unidade ou caminho.

TYPE
Exibe o conteúdo de um arquivo de texto.

VER
Mostra a versão do Windows.

VERIFY
Faz com que o Windows verifique se os arquivos estão gravados corretamente em um disco.

VOL
Exibe um rótulo e número de série de volume de disco.

XCOPY
Copia diretórios com seus subdiretórios.


Os comandos abaixo listam comandos adicionais do Windows XP Pro:

eventcreate -Permite ao administrador criar uma mensagem e identificação do evento personalizadas em um log de eventos especificado.

eventquery -Lista os eventos ou as propriedades de um evento de um ou mais arquivo log.

eventtriggers- Mostra e configura disparadores de evento.

getmac -Mostra o endereço MAC de um ou mais adaptador de rede.

helpctr- Inicia o Centro de Ajuda e Suporte.

ipseccmd -Configura o Internet Protocol Security (IPSec)

logman- Gerencia o serviço Logs e alertas de desempenho.

openfiles- Busca, mostra ou termina arquivos abertos compartilhados.

pagefileconfig- Mostra e configura a memória virtual.

perfmon -Abre o monitor do sistema.

prncnfg- Configure ou mostra as configurações de impressora.

prndrvr- Adiciona, deleta e lista drivers de impressoras.

prnjobs- Pausa, continua ou cancela lista de documentos a serem impressos.

prnmngr- Adiciona, deleta e lista impressoras conectadas, além da impressora default.

prnport- Cria, deleta e lista portas de impressora TCP/IP

prnqctl -Imprime uma página de teste, pausa ou reinicia um documento a ser impresso.

schtasks - Permite que um administrador crie, exclua, consulte, altere, execute e termine tarefas 
agendadas em um sistema local ou remoto.

systeminfo- Busca no sistema informação sobre configurações básicas.

typeperf- grava dados de desempenho na janela de comando ou em um arquivo de log. Para interromper - Typeperf, pressione CTRL+C.



Bom tem bastante coisa né, dá pra brincar um pouco ... Copie e cole o script abaixo em bloco de notas, salve como .bat e execute.

rem ---------------------- inicio do programa--------------------------------------------
echo off 
cls
echo Elaborado por - Toni da Silva  --  Tecnologo em Sistemas Eletricos
echo i12 Eletrica e Automacao
echo.
echo Abaixo temos uma lista de atividades desponiveis, execute a desejada.
color 01
pause
echo.
echo -------------------------------------------------------------------------------------
echo.
echo d = Desligar o computador
echo r = Reiniciar o computador
echo c = Verificar conexao com internet
echo h = Informa data e hora
echo m = Inicia a calculadora
echo n = Descreve o nome do HOST (Nome da maquina)
echo e = Sair do programa sem executar nada
echo.
echo ---------------------------------------------------------------------------------------
SET /p XXX=
color 06
if %XXX% EQU d (goto AAA)
if %XXX% EQU r (goto BBB)
if %XXX% EQU c (goto CCC)
if %XXX% EQU h (goto DDD)
if %XXX% EQU e (goto sair) 
if %XXX% EQU m (goto EEE)
if %XXX% EQU n (goto FFF)
rem -----------------------Fim do programa principal-----------------------------------------

rem -----------------------Sub rotinas do programa-------------------------------------------
:AAA
cls
if %XXX% NEQ d (goto sair) else (goto GGG)

:GGG
cls
echo Seu computador desligara em 120 sec
pause
shutdown -s -t 30 -c "Seu computador será desligado em 30 segundos"
exit

:BBB
cls
echo Seu computador reiniciara em 120 sec
pause
shutdown -r -t 30 -c "Seu computador será reiniciado em 30 segundos"
exit

:CCC
cls
echo Vamos testar a conexao com o comando ping apontando para o site do Google
pause
ping www.google.com.br
pause
exit

:DDD
cls
echo Data e hora do sistema
echo %date%
echo %time%
pause
exit

:EEE
cls
echo Executa a calculadora do Windwns
start calc
pause
exit

:FFF
cls
echo O no dado ao computador e:
hostname
pause
exit

:sair
cls
exit

rem -----------------Fim do programa------------------------------------------------------