Introdução à programação em lotes - webvrbrasil.com.br pelo sistema. ... 13 rem Abrir a pasta...

Preview:

Citation preview

Introdução à programação em lotesDisciplina: Sistemas Operacionais

Prof. Filipe Arantes Fernandesfilipe.arantes@ifsudestemg.edu.br

Introdução

Um arquivo com extensão .bat pode ser definido como um conjunto de comandos executados em lote (sequencialmente);

Criado para o MS-DOS tem a função de automatizar tarefas rotineiras e muitas vezes trabalhosas.

Arquivos .BAT

● Primeiramente, cria-se um arquivo no bloco de notas podendo já conter os comandos de execução do DOS e salvamos na extensão .bat.

● Para isto, basta incluirmos “.bat” no fim do nome do arquivo quando for salvar, como segue o exemplo no próximo slide;

Alguns comandos

● ECHO: Escreve na tela● ECHO OFF: Oculta informações e o código

executado pelo sistema.● ECHO ON: Exibe informações e o código

executado pelo sistema.● ECHO.: Salta uma linha.● @ECHO: Faz com que o prompt fique

oculto durante toda execução.● SET: Cria variável que pode ser

referenciada através de %variável%.● CLS: Limpa o console.

● IF e ELSE: Estruturas condicionais.● GOTO: Avança até determinado trecho do

lote.● FOR: Estrutura de repetição.● PAUSE: Faz uma pausa, e exibe:

“Pressione qualquer tecla para continuar.”● REM: Utilizado para fazer comentários.● START: Inicializa um aplicativo ou

programa.● MOVE: Move (recorta) um arquivo de um

diretório para outro.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 1

● ECHO OFF: Oculta o código executado.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 2

● CLS: Limpa a tela do console.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 3

● ECHO: Exibe o texto “SCRIPT .BAT para Realizar Backup”.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 4

● PAUSE: Pausa execução e apresenta: “Pressione qualquer tecla para continuar”.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 5

● cd\docume~1\%username%\documentos: Acessa o diretório onde será realizado backup.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 6

● copy* d:\ Arquivos_Backup: Copia todos(*) os arquivos do diretório documentos para o diretório Arquivos_Backup na partição d:.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 8

● ECHO: Exibe o texto ”Abrir Calculadora“.

Exemplo de um arquivo .bat

1 echo off

2 cls

3 echo “SCRIPT .BAT para realizar backup”

4 pause

5 cd\docume~1\%username%\documentos

6 copy| * d:\Arquivos_Backup

7 pause

8 echo “Abrir calculadora”

9 start calc.exe

10 pause

● Explicando o código

● Linha 9

● start calc.exe: Inicia a calculadora.

Resultado do exemplo

● Ao final da execução temos os arquivos “backupados” e a calculadora aberta.

● Este é somente um exemplo das inúmeras rotinas que podem ser feitas em um “.bat”. Com um bom conhecimento dos comandos DOS podemos otimizar nosso tempo programando tarefas em lote.

Exercícios

Fonte: https://static01.nyt.com/images/2007/11/08/opinion/08opart.large.jpg

Exercício 1

a) Crie um .bat que construa a árvore de diretórios ao lado.

b) Em seguida, localize na unidade C: todos os arquivos com a extensão .txt e COPIE para a pasta PCCHIPS.

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 1

● Oculta o código executado.

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 2

● Limpa a tela

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 3

● Cria as pastas HARDWARE e SO

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 4

● Comentário, ou seja, linha que não será executada pelo prompt de comandos

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 5

● Abre a pasta HARDWARE

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 6

● Comentário

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 7

● Crias pastas, inclusive, DELUXE, a qual é um subdiretório de ASUS

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 8

● Comentário

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 9

● Sai da pasta HARDWARE

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 10

● Comentário

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 11

● Abre a pasta SO

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 12

● Cria as pastas DOS, LINUX e WINDOWS

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 13

● Comentário

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 14

● Abre a pasta LINUX

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 15

● Cria as 4 pastas

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 16

● Comentário

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 17

● Volta para a pasta raíz

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 18

● Exibe a mensagem “Script executado!” para o usuário

Gabarito: Exercício 11 echo off

2 cls

3 md HARDWARE SO

4 rem Abrir a pasta HARDWARE

5 cd HARDWARE

6 rem Pasta HARDWARE aberta

7 md ASUS ASUS\DELUXE ECS GIGABYTE PCCHIPS

8 rem Sair da pasta HARDWARE

9 cd ..

10 rem Abrir a pasta SO

11 cd SO

12 md DOS LINUX WINDOWS

13 rem Abrir a pasta LINUX

14 cd LINUX

15 md KURUMIN MANDRIVA SUSE UBUNTU

16 rem Voltar para a pasta raiz

17 cd ..\..

18 echo "Árvore de diretórios criada!"

19 pause

● Explicando o código:

● Linha 19

● Aguarda interação do usuário para continuar com o script

CONTINUAÇÃO

Gabarito: Exercício 120 rem Copiar arquivos .txt

21 copy *.txt Users\USUARIO\Desktop\HARDWARE\PCCHIPS

22 cls

23 echo "Arquivos .txt copiados!"

24 pause

● Explicando o código:

● Linha 20

● Comentário

Gabarito: Exercício 120 rem Copiar arquivos .txt

21 copy *.txt Users\USUARIO\Desktop\HARDWARE\PCCHIPS

22 cls

23 echo "Arquivos .txt copiados!"

24 pause

● Explicando o código:

● Linha 21

● Copia arquivos .txt para PCCHIPS. Onde está USUARIO deve ser trocado pelo real valor de cada máquina.

Gabarito: Exercício 120 rem Copiar arquivos .txt

21 copy *.txt Users\USUARIO\Desktop\HARDWARE\PCCHIPS

22 cls

23 echo "Arquivos .txt copiados!"

24 pause

● Explicando o código:

● Linha 22

● Limpa a tela

Gabarito: Exercício 120 rem Copiar arquivos .txt

21 copy *.txt Users\USUARIO\Desktop\HARDWARE\PCCHIPS

22 cls

23 echo "Arquivos .txt copiados!"

24 pause

● Explicando o código:

● Linha 23

● Mostra a mensagem na tela

Gabarito: Exercício 120 rem Copiar arquivos .txt

21 copy *.txt Users\USUARIO\Desktop\HARDWARE\PCCHIPS

22 cls

23 echo "Arquivos .txt copiados!"

24 pause

● Explicando o código:

● Linha 24

● Aguarda interação do usuário para finalizar o script

Referência

● DEVMEDIA, 2017, “Introdução a arquivos .BAT e programação em lotes”. Disponível em: <Introdução a arquivos .BAT e programação em lotes>. Acessado em 9 de março de 2017.