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.