DOS
- Ficha 3 - Ficheiros Bat
1) Desenvolver um ficheiro batch para eliminar os ficheiros
temporários. Deverá editar um ficheiro del_temp.bat com
os seguintes comandos DOS:
a) Não imprimir comandos DOS
para o ecran ( @echo off )
b) Limpar o ecran (CLS)
c) Imprimir no ecran a seguinte frase: “Todos os
ficheiros temporários serão eliminados desta pagina”
(ECHO …)
d) Deixar uma linha em branco (ECHO.)
e) Imprimir “Pretende realmente eliminar os ficheiros
temporários? (s/n)”
(set /p escolha=Pretende realmente...)
f) Se o utilizador premir s eliminar todos os ficheiros
com a extensão tmp.
(IF ‘%escolha%’ ==’s’ del *.tmp )
Correr o ficheiro e verificar o seu funcionamente. Poderá primeiro
criar 1 ou 2 ficheiros com extensão tmp para verificar o funcionamento
do BAT.
2) Considere o seguinte ficheiro menu.bat
e execute-o. (Nota Não deixar espaços em branco ao lado
do sinal =)
@ECHO off
REM Este comentário não faz nada no programa. Apenas serve
para colocar notas para o programador comprender
cls
:inicio
ECHO.
ECHO 1. Opção Ola
ECHO 2. Opção Tudo bem
ECHO 3. Opção Adeus
set /p opcao=Escolha a opção 1, 2 ou 3.
if '%opcao%'=='1' goto ola
if '%opcao%'=='2' goto tudobem
if '%opcao%'=='3' goto adeus
ECHO A opção "%opcao%" não é válida.
Tente de novo!
ECHO.
GOTO inicio
:ola
ECHO Ola!
goto fim
:tudobem
set variável=Tudo bem?
echo %variavel%
goto fim
:adeus
ECHO Adeus
goto fim
:fim
a) Explique o seu funcionamento.
b) Uma das instruções é desnecessária.
Indique qual.
c) Crie mais uma opção em que pede ao utilizador
o seu nome e envia uma mensagem de cumprimento para o ecran com o nome
do utilizador.
3. Os ciclos usados em ficheiros batch
tomam a seguinte forma:
c:> FOR %x IN (lista) DO comando %x (em que %x representa uma variável)
Por exemplo o comando
c:> FOR %x IN (*.tmp) DO DIR %x
listaria os ficheiros temporários (tmp) do directório
a) Qual o comando que permitiria executar um TYPE de
todos os ficheiros de texto (.txt) de um directório?
__________________________________________________________________
b) Sabendo que o comando para imprimir um ficheiro é
PRINT file_name > PRN qual o comando para imprimir todos os ficheiros
de texto (*.txt) de uma só vez?
________________________________________________________________
c) Qual seria o output da seguinte instrução?
C:> FOR %z IN (um dois três) echo %z
________________________________________________________________
4. Faça um ficheiro bat a seu gosto que contenha
uma instrução de ciclo.
|