ficha de trabalho 3 operações básicas de manipulação de...

12
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 Ficha de trabalho 3 Operações Básicas de Manipulação de Ficheiros e Pastas (Comandos) Lê com atenção e executa todos os desafios lançados! DESAFIO 1: Batch File - Criando um bat para fazer backup de ficheiros! Segue abaixo um exemplo de como criar um ficheiro bat para fazer backup de ficheiros de forma fácil e prática. Abrir o bloco de notas (Iniciar > Programas > Acessórios > Bloco de Notas) Digite o seguinte código: 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.

Upload: doandang

Post on 30-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

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

Ficha de trabalho 3

Operações Básicas de Manipulação de

Ficheiros e Pastas (Comandos)

Lê com atenção e executa todos os desafios lançados!

DESAFIO 1:

Batch File - Criando um bat para fazer backup de ficheiros!

Segue abaixo um exemplo de como criar um ficheiro bat para fazer backup de ficheiros de

forma fácil e prática.

Abrir o bloco de notas (Iniciar > Programas > Acessórios > Bloco de Notas)

Digite o seguinte código:

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 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

Notas:

/S Copia pastas e subpastas, exceto as vazias.

/M Copia somente ficheiros com o atributo de arquivo definido.

/Y Suprime o prompt para confirmar se deseja substituir.

/R Substitui ficheiros somente de leitura.

DESAFIO 2:

Batch File – Criando uma calculadora simples em bat!

Este desafio cria uma calculadora feita no Bloco de Notas utilizando Batch files. É uma

calculadora simples, faz apenas as seguintes operações: adição, subtração, multiplicação e

divisão.

Para fazer uma calculadora, abrir o bloco de notas em:

Iniciar > Programas > Acessórios > Bloco de Notas.

Adicione o código abaixo no Bloco de Notas:

@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 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 Digite o primeiro numero que pretende somar set /p n1=

cls echo Digite o segundo numero 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 :subtração Cls

echo Digite o primeiro numero que pretende subtrair set /p nn1=

cls echo Digite o segundo numero set /p nn2=

cls set /a nn3=%nn1%-%nn2%

echo %nn1%-%nn2%=%nn3% pause

cls echo O que deseja fazer? echo .

echo . echo V-Voltar ao menu

echo S-sair do programa set /p opcao1= if %opcao1%==v goto inicio

if %opcao1%==s exit :multiplicar

Cls echo Digite o primeiro numero que quer Multiplicar set /p n1=

cls echo Digite o segundo numero

set /p n2= cls set /a n3=%n1%*%n2%

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

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

Em seguida, guarde o ficheiro com o nome “Calculadora.bat”. (O importante é não

esquecer de guardar com a extensão “.bat”).

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 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

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 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

:Segue

set/a "Contar+=1"

set "Password2=!Password:~0,%Contar%!"

if "%Password2%" neq "%Password%" goto:Segue

if %contar% lss 6 (echo.A password deve ter no m¡nimo 6 caracteres

pause>nul

goto:ini)

set "min="

for %%j in (a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (set "le1=%%j"

call:conp min)

set "maiusc="

for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (set

"le2=%%i"

call:conp1 maiusc)

seT "num="

for %%h in (1,2,3,4,5,6,7,8,9,0) do (set "le3=%%h"

call:conp2 num)

if "%verif%" equ "1" set Mostra=Fraca

if "%verif%" equ "11" set Mostra=Boa

if "%verif%" equ "111" set Mostra=Otima

echo.

echo.

set "nivel=%min%%Maiusc%%num%"

echo. Nivel de seguran‡a

echo. 1 2 3

echo. _______________________________________

echo. %nivel%

echo.

echo. %Mostra%

pause>nul

goto:ini

: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 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

Principais Comandos de Batch Files!

Aqui estão, alguns comandos utilizados em ficheiros batch. Se tiver dúvida de algum digite

no Prompt de comando: comando/?. Outro modo de vê-los é digitando help no Prompt de

Comando.

ECHO [mensagem ou variável]

Escreve no ecrã

ECHO OFF

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

Desativa as informações e confirmações feitas pelo sistema. Como "C:>", "Tem a certeza

que deseja fazer ?"...

ECHO ON

Ativa as informações e confirmações do sistema.

ECHO.

Salta uma linha

SET variavel=valor

Cria ou modifica uma variável (espaço reservado temporariamente na memória RAM

para guardar algumas informações: numéricas, de caracteres, positivo/negativo entre

outros. Não podem ter acento e devem começar com letra). Para chamar a variável

posteriormente basta colocá-la entre "%". Por exemplo:

SET nome=Rafael

ECHO O nome dele é %nome%

:nomedolink

Nomeia um ponto do ficheiro bacth permitindo avançar ou voltar à execução a partir desse

ponto.

CLS

Este comando limpa todo o ecrã. Clear Screen.

@[Comando]

Desativa as informações e confirmações feitas pelo sistema apenas para esta linha.

IF [condição] (

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

[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]

Avança ou volta a execução para um ponto do ficheiro bacth.

FOR /L %%variavel IN (início,incremento,fim) DO comando [parâmetro]

Repete um comando várias vezes fazendo incrementações até o fim ser atingido.

/L, é uma opção do comando FOR que faz as iterações

%%variavel, é o nome da variável que vai ser incrementada

início, é o valor de início da variável que será incrementada

incremento, número que será somado a cada iteração

fim, a repetição irá acabar quando o valor da variável atingir este valor

comando, um comando que será repetido

[parâmetro], o parâmetro do comando que será repetido

Por exemplo

@ECHO OFF

FOR /L %%a IN (1,1,5) DO ECHO O valor de A é %%a

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

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]/?

Todos comandos de MS-DOS também entram nesta lista.

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)

Os símbolos acima vêm das seguintes fontes:

QUE vem da palavra inglesa EQUals (Igual).

NEQ vem da palavra inglesa Not EQuals (Não-Igual, diferente)

LSS vem da palavra inglesa LeSS (Menor)

LEQ vem da palavra inglesa Less or EQuals (Menor ou Igual)

GTR vem da palavra inglesa GreaTeR (Maior)

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

GEQ vem da palavra inglesa Greater or EQuals (Maior ou Igual)

NOT é uma palavra inglesa que significa Não

DEFINED é uma palavra inglesa que significa Definido

EXIST é uma palavra inglesa que significa Existe

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

REM O resultado da condição abaixo será verdadeiro

IF "%nome1%" LEQ "%nome2%" ( ECHO Verdadeiro ) ELSE ( ECHO Falso )

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

REM O resultado da condição abaixo será Falso

IF %ana% LSS %rafael% ( ECHO Verdade ) ELSE ( ECHO Falso )

Rafael Henriques 12

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

IF EXIST exemplo.bat ( ECHO Verdadeiro ) ELSE ( ECHO Falso )

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

IF EXIST *.bat (ECHO Positivo ) ELSE ( ECHO Negativo )