Mostrando postagens com marcador MsDos. Mostrar todas as postagens
Mostrando postagens com marcador MsDos. Mostrar todas as postagens

Como colocar opções em arquivos .BAT

1 de setembro de 2016

Trata-se da utilização do comando choice seguido da variável de errorlevel (para saber o que foi retornado) , por fim utilizamos o operador condicional IF para "enviar" o código para a linha que queremos.

Veja como fazer um .Bat com opções nos passos abaixo;

Criando um arquivo de lote com opções utilizando "Choice"

Passo 1: Pressione simultaneamente as teclas "Windows + R" do seu teclado para abrir a caixa de comandos "Executar", em seguida digite "notepad.exe" (sem aspas) e pressione "Enter" para abrir o bloco de notas;

Notepad.exe

Se você fez como descrito no passo anterior, a janela do bloco de notas deverá estar aberta neste momento:

Bloco de Notas

Passo 2: Agora vamos criar o nosso arquivo .Bat sem nenhum conteúdo, para isso clique no menu superior "Arquivo", selecione a opção "Salvar como..." e digite o nome que desejar seguido da extensão .bat entre aspas (Ex.: "meuarquivo.bat").

meuarquivo.bat

Passo 3: Agora que você salvou seu arquivo .bat podemos começar a edição do mesmo. Para começar feche tudo o que está aberto na sua tela e vá até o local que você salvou seu arquivo.

Se você tentar abrir este arquivo neste momento, provavelmente não vai acontecer nada além da exibição de um erro na sua tela, isso por que ainda não fizemos os comandos necessários para que o Windows entenda o que desejamos.

Para editar o "meuarquivo.bat" clique com o botão direito do mouse e selecione a opção "Editar";

Editar meuarquivo.bat

Passo 4: Como é comum na criação de arquivos .bat, desativamos a exibição de comandos digitados com o comando "@echo off", então coloque isto na primeira linha do seu bloco de notas;

@echo off
Passo 6: Agora vamos definir as opções, então suponhamos que você precise de três opções "Sim", "Não" e "Cancelar", para isso digite o comando:

choice /C SNC /M "Pressione: [S]im, [N]ao ou [C]ancelar"
Ou seja, com o choice /C você escolhe as letras que deverão ser pressionadas para cada opção, já com o /M você digita a mensagem que deseja exibir para o usuário entre aspas.

Neste caso o %errorlevel% vai retornar 3 valores sequênciais (1,  2, 3), então vamos utilizar o operador condicional IF para enviar o usuário para a opção escolhida pelo choice.

Passo 7: Dentro do seu arquivo, adicione as seguintes linhas:

IF errorlevel=3 goto CANCELAR
IF errorlevel=2 goto NAO
IF errorlevel=1 goto SIM
Ou seja, se o errorlevel for igual a 3 (última opção do Choice - C) o usuário será enviado para a sessão "CANCELAR" (que ainda iremos criar), se for igual a 2 ele vai para a sessão "NAO" e 1 vai para a sessão "SIM".

Passo 8: Agora vamos criar as sessões, então iremos digitar seus nomes seguidos de dois pontos (:), como o código abaixo;

:CANCELAR
:SIM
:NAO
Deixe as linhas em branco para digitarmos os comandos dentro de cada sessão.

Passo 9: Dentro da sessão cancelar, digitamos apenas o comando "exit" para sair, já dentro da sessão "SIM" ou "NAO", digitamos o comando que for necessário.

Neste caso vou apenas exibir uma mensagem na tela para você entender sobre o que estou falando, veja como fica:

:CANCELAR
exit
:SIM
echo O usuario pressionou [S]
@pause
goto :CANCELAR
:NAO
echo O usuario pressionou [N]
@pause
goto :CANCELAR
Perceba que coloquei um @pause e goto :CANCELAR ao final das linhas das sessões "SIM" e "NAO", o @pause significa que independente do que seja feito, o comando será "Pausado" naquela linha exibindo uma mensagem para o usuário pressionar qualquer tecla para continuar, quando ele fizer isto, o código será imediatamente enviado para a sessão ":CANCELAR", ou seja, terminou de executar o código não faz mais nada além do comando "Exit" (da sessão cancelar).

O resultado é o seguinte

Ao pressionar "S":

Pressione: [S]im, [N]ao ou [C]ancelar [S,N,C]?S
O usuario pressionou [S]
Pressione qualquer tecla para continuar. . .
Ao pressionar "N":

Pressione: [S]im, [N]ao ou [C]ancelar [S,N,C]?N
O usuario pressionou [N]
Pressione qualquer tecla para continuar. . .
Ao pressionar "C":

A janela fecha.

Veja como ficou nosso arquivo .bat completo

@echo off
choice /C SNC /M "Pressione: [S]im, [N]ao ou [C]ancelar"
IF errorlevel=3 goto CANCELAR
IF errorlevel=2 goto NAO
IF errorlevel=1 goto SIM
:CANCELAR
exit
:SIM
echo O usuario pressionou [S]
@pause
goto :CANCELAR
:NAO
echo O usuario pressionou [N]
@pause
goto :CANCELAR
A partir daqui você poderá editá-lo como quiser.
Leia Mais ►

DEFINIÇÕES DE PROMPT PARA CRIAÇÃO DE BAT (Atalhos para MSDos)

16 de janeiro de 2016

Quantas vezes você estava criando aquele script em BAT para facilitar seu trabalho na manutenção dos computadores. Você programa deixa tudo funcionando naquela maquina, quando vai testar em outro PC, surge aquela surpresa, o windows foi instalado em outra partição e não no padrão C: ou a versão utilizada do windows não é em Português "mudando a nomenclatura de alguns diretórios padrões"... e muitas outras coisas que pode acontecer.
Bom aqui vai uma lista dos atalhos para ajudar na criação de seu BAT.

Define o diretório onde o prompt esta.
Ex.:
echo %CD%
C:\Documents and Settings\Tiago

%DATE% – data corrente do sistema operacional.
Ex.:
echo %DATE%
sáb 05/06/2010

%TIME% – hora corrente do sistema operacional.
Ex.:
echo %TIME%
19:47:48,34

%RANDOM% – gera número aleatório entre 0 e 32767.
Ex.:
echo %RANDOM%
25792

%ProgramFiles% – path completo do diretório “Arquivos de programas”.
Ex.:
echo %ProgramFiles%
C:\Arquivos de programas

%SystemDrive% – drive(unidade de disco) de instalação do sistema operacional.
Ex.:
echo %SystemDrive%
C:

%systemroot% – diretório de instalação do sistema operacional.
Ex.:
echo %systemroot%
C:\WINDOWS

%WinDir% – diretório de instalação do sistema operacional.
Ex.:
echo %WinDir%
C:\WINDOWS

%SystemDirectory% – diretório de instalação da pasta system32.
Ex.:
echo %SystemDirectory%
C:\WINDOWS\System32

%USERNAME% – usuário logado na sessão corrente do sistema operacional.
Ex.:
echo %USERNAME%
Tiago

%HomePath% – diretório ‘HOME’ do usuário logado(sem o drive).
Ex.:
echo %HomePath%
\Documents and Settings\Tiago

%HomeDrive% – drive onde está o diretório ‘HOME’ do usuário logado.
Ex.:
echo %HomeDrive%
C:

%TEMP% – diretório temporário da sessão do usuário logado.
Ex.:
echo %TEMP%
C:\DOCUME~1\Tiago\CONFIG~1\Temp

%Tmp% – diretório temporário da sessão do usuário logado.
Ex.:
echo %Tmp%
C:\DOCUME~1\Tiago\CONFIG~1\Temp

%UserDomain% – O nome do domínio que detém a conta do usuário, caso o sistema operacional não esteja vinculado a nenhum dominio, apresenta o dominio local (hostname).
Ex.:
echo %UserDomain%
ZERO

%ComSpec% – Localização do command do DOS.
Ex.:
echo %ComSpec%
C:\WINDOWS\system32\cmd.exe






%CD% – define o diretorio onde o prompt esta em randy.
Ex.:
echo %CD%
C:\Documents and Settings\Tiago

%DATE% – data corrente do sistema operacional.
Ex.:
echo %DATE%
sáb 05/06/2010

%TIME% – hora corrente do sistema operacional.
Ex.:
echo %TIME%
19:47:48,34

%RANDOM% – gera número aleatório entre 0 e 32767.
Ex.:
echo %RANDOM%
25792

%ProgramFiles% – path completo do diretório “Arquivos de programas”.
Ex.:
echo %ProgramFiles%
C:\Arquivos de programas

%SystemDrive% – drive(unidade de disco) de instalação do sistema operacional.
Ex.:
echo %SystemDrive%
C:

%systemroot% – diretório de instalação do sistema operacional.
Ex.:
echo %systemroot%
C:\WINDOWS

%WinDir% – diretório de instalação do sistema operacional.
Ex.:
echo %WinDir%
C:\WINDOWS

%SystemDirectory% – diretório de instalação da pasta system32.
Ex.:
echo %SystemDirectory%
C:\WINDOWS\System32

%USERNAME% – usuário logado na sessão corrente do sistema operacional.
Ex.:
echo %USERNAME%
Tiago

%HomePath% – diretório ‘HOME’ do usuário logado(sem o drive).
Ex.:
echo %HomePath%
\Documents and Settings\Tiago

%HomeDrive% – drive onde está o diretório ‘HOME’ do usuário logado.
Ex.:
echo %HomeDrive%
C:

%TEMP% – diretório temporário da sessão do usuário logado.
Ex.:
echo %TEMP%
C:\DOCUME~1\Tiago\CONFIG~1\Temp

%Tmp% – diretório temporário da sessão do usuário logado.
Ex.:
echo %Tmp%
C:\DOCUME~1\Tiago\CONFIG~1\Temp

%UserDomain% – O nome do domínio que detém a conta do usuário, caso o sistema operacional não esteja vinculado a nenhum dominio, apresenta o dominio local (hostname).
Ex.:
echo %UserDomain%
ZERO

%ComSpec% – Localização do command do DOS.
Ex.:
echo %ComSpec%
C:\WINDOWS\system32\cmd.exe

%ComSpec% – Localização do command do DOS.
Ex.:
echo %ComSpec%
C:\WINDOWS\system32\cmd.exe

%OS% – Define o sistema operacional corrente.
Ex.:
echo %os%
Windows_NT

%PROCESSOR_ARCHITECTURE% – Define a arquitetura do sistema operacional.
Ex.:
echo %PROCESSOR_ARCHITECTURE%
x86

%ERRORLEVEL% – Contém o código de erro do último comando utilizado.
Ex.:
echo %ERRORLEVEL%
9009

%PATHEXT% – Descreve as extensões que o sistema operacional considera como executaveis.
Ex.:
echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

%NUMBER_OF_PROCESSORS% – Contém a quantidade processadores que o sistema operacional está trabalhando.
Ex.:
echo %NUMBER_OF_PROCESSORS%
2

Espero que tenha ajudado.
Caso conheça mais algum comando por favor envie no comentário.
Obrigado.

By Rogério Martins
Leia Mais ►

Veja outras Publicações