Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ficha de trabalho 3
Operações Básicas de Manipulação de
Ficheiros e Pastas
(Comandos)
DESAFIO 1:
Abrir o bloco de notas (Iniciar > Programas > Acessórios > Bloco de Notas)
Altere os nomes das pastas e caminhos das pastas de origens e destino conforme
sua necessidade.
@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 concluído
echo -------------------------------------
echo
pause
Clique no menu ficheiro e depois Guardar como, e digite o nome do ficheiro, por exemplo o
nome de "Backup.bat", pode ser qualquer nome, só não esquecer de colocar o .bat no final.
Rafael Henriques 1
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
Notas:
DESAFIO 2:
@echo off
title Programa que faz cálculos
:inicio
Cls
echo Digite o numero correspondente ao calculo que quer fazer
echo.
echo.
echo 1-Adicao
echo 2-Subtracao
echo 3-Multiplicacao
echo 4-Divisao
echo.
set /p calculo=
if %calculo%==1 goto adicao
if %calculo%==2 goto subtração
if %calculo%==3 goto multiplicar
if %calculo%==4 goto dividir
:adicao
Cls
Rafael Henriques 2
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
Rafael Henriques 3
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
echo %n1%X%n2%=%n3%
pause
cls
echo O que deseja fazer?
echo .
echo .
echo V-Voltar ao menu
echo S-sair do programa
set /p opcao=
if %opcao%==v goto inicio
if %opcao%==s exit
:dividir
Cls
echo Que numero deseja dividir
set /p n1=
cls
echo Por quanto deseja dividir
set /p n2=
cls
set /a n3=%n1%/%n2%
echo %n1%:%n2%=%n3%
pause
cls
echo O que deseja fazer?
echo .
echo .
echo V-Voltar ao menu
echo S-sair do programa
set /p opcao=
if %opcao%==v goto inicio
if %opcao%==s exit
Agora basta você abrir o ficheiro “.bat” dando dois (2) cliques sobre o mesmo. Vai abrir
uma janela do MS-DOS que será a calculadora:
Rafael Henriques 4
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
Desafio 3
O código batch abaixo tem como função mostrar o nível de segurança de uma password
para que o utilizador possa criar passwords seguras! Quando e digitado uma password, o
programa verifica e mostra se a mesma é fraca, boa ou ótima!
Obs: Para executar o script e só copiar o mesmo para o bloco de notas e guardá-lo com a
extensão .bat ex: nomeficheiro.bat
@echo off
setlocal enabledelayedexpansion
title N¡vel de seguran‡a batch
mode con cols=45 lines=10
color a
:ini
set "Mostra="
set "Mostra2="
set "Mostra3="
set "Password="
set "Contar="
cls
echo.
echo. Digite uma password para que seja
echo.
echo. verificado o nivel de seguran‡a :
echo.
set/p "Password= Password : "
cls
if not defined Password goto ini
Rafael Henriques 5
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
:Segue
set/a "Contar+=1"
set "Password2=!Password:~0,%Contar%!"
if "%Password2%" neq "%Password%" goto:Segue
:conp
for /l %%k in (0,1,!Contar!) do (set "sec=!Password2:~%%k,1!"
if "!sec!" equ "!le1!" (set "%1=°°°°°°°°°°°°°"&set Mostra=1)
)
goto:eof
:conp1
for /l %%k in (0,1,!Contar!) do (set "sec=!Password2:~%%k,1!"
if "!sec!" equ "!le2!" (set "%1=²²²²²²²²²²²²²"&set Mostra2=1)
)
goto:eof
:conp2
for /l %%k in (0,1,!Contar!) do (set "sec=!Password2:~%%k,1!"
if "!sec!" equ "!le3!" (set "%1=ÛÛÛÛÛÛÛÛÛÛÛÛÛ"&set Mostra3=1)
)
set verif=%Mostra%%Mostra2%%Mostra3%
goto:eof.
Rafael Henriques 6
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
Escreve no ecrã
ECHO OFF
Rafael Henriques 7
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
Desativa as informações e confirmações feitas pelo sistema. Como "C:>", "Tem a certeza
que deseja fazer ?"...
ECHO ON
ECHO.
SET variavel=valor
SET nome=Rafael
:nomedolink
Nomeia um ponto do ficheiro bacth permitindo avançar ou voltar à execução a partir desse
ponto.
CLS
@[Comando]
Desativa as informações e confirmações feitas pelo sistema apenas para esta linha.
IF [condição] (
Rafael Henriques 8
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
[acção]
) ELSE (
[acção2]
Este é um comando condicional. "Se condição fazer ação, senão fazer a ção2".
Por exemplo
@ECHO OFF
SET nome=Ana
IF "%nome%"=="Ana" (
ECHO Oi Aninha!
) ELSE (
ECHO Oi %nome%!
)
GOTO [ponto]
Repete um comando várias vezes fazendo incrementações até o fim ser atingido.
Por exemplo
@ECHO OFF
FOR /L %%a IN (1,1,5) DO ECHO O valor de A é %%a
Rafael Henriques 9
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
PAUSE
Faz uma pausa e só volta quando o utilizador pressionar alguma tecla do teclado.
REM [comentário]
Este comando não faz absolutamente nada. Utilizado para inserir comentários nos
arquivos.
Todos os comandos aqui listados são comandos de MS-DOS que foram criados
especificamente para bacth files. Se precisar de mais detalhes sobre cada um deles basta
digitar no MS-DOS (ou no prompt de comando do Windows) [comando]/?
Condições
Numéricas e Caracteres:
Igual (QUE ou ==)
Diferente (NEQ)
Menor que (LSS)
Menor ou igual a (LEQ)
Maior que (GTR)
Maior ou igual a (GEQ)
Condição negativa (NOT)
Variáveis:
Definido (DEFINED [variável sem %])
Condição negativa (NOT)
Ficheiros:
Existe (EXIST)
Condição negativa (NOT)
Rafael Henriques 10
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
Caracteres
As condições numéricas e de caracteres são iguais, porém avaliam de maneira diferente.
Por exemplo, se compararmos "Ana" com Rafael na condição LEQ (Menor ou igual), será
avaliado o tamanho. "Ana" tem 3 letras e "Rafael" tem 6. Então "Rafael" é maior que "Ana"
e a condição é verdadeira. Veja como ficaria:
@ECHO OFF
SET nome1=Ana
SET nome2=Rafael
Numéricas
Nas condições numéricas as duas únicas diferenças entre as condições numéricas e de
caracteres é que nas numéricas são avaliados os números, não o tamanho. Vamos supor
que a Ana tem 23 anos e que a Rafael tem 19. Se compararmos as suas idades
respetivamente usando LSS (Menor que) o resultado será Falso. Exemplo:
@ECHO OFF
SET ana=23
SET rafael=19
Rafael Henriques 11
AGRUPAMENTO DE ESCOLAS GIL VICENTE
Escola Gil Vicente
Ano Letivo 2015/2016
Departamento de Matemática, Ciências Experimentais e Informática
Grupo de Informática
FICHEIROS
A condição EXIST verifica se existe algum ficheiro. Por exemplo, se existir o ficheiro
"exemplo.bat" o resultado será verdadeiro, senão falso. exemplo:
@ECHO OFF
No sistema MS-DOS, pode-se fazer uma "pesquisa" na pasta onde está posicionado, por
um ficheiro digitando parte dele. Usa-se o indicar a(s) parte(s) que não conhecemos. Por
exemplo, se existir algum ficheiro com a extensão "."*" para bat" na pasta atual o
resultado será verdadeiro, senão negativo. Exemplo:
@ECHO OFF
Rafael Henriques 12