Curso de scripvox - Aula14 (Por Fabiano Ferreira)

    Operaes com pasta.

    Nesta aula, vamos ver os comandos utilizados no scripvox para
trabalharmos com pastas, ou, como  chamado no dosvox e pelos usurios
mais antigos, que pegaram a poca do ms dos, diretrios.
    Esses comandos complementaro as aulas anteriores que trataram de
arquivos.
    Na prxima aula, j comearemos um novo tema, e assim, j podemos
dizer que nosso curso est chegando perto do final.
    Ento, vamos em frente!!!

    *Comando busca;

    Sim,  isso mesmo!
    O mesmo comando busca, que utilizamos para pesquisar arquivos,
utilizamos para pesquisar pastas.
No caso de buscar por pastas h apenas uma pequena mudana na forma de
uso: acrescentamos a palavra 'dir' aps a varivel que recebe o
resultado da busca, por exemplo:

Busca b dir "c:\fabiano"

Busca pelo diretrio 'c:\fabiano'.
Se ele existir, varivel b recebe o nome do diretrio.
Se no existe, a varivel b  deixada em branco.

    Veja mais um exemplo:

Seja x "c:\fabiano"

Busca b dir x

    Faz o mesmo que o cdigo anterior, com a nica diferena que o nome
do diretrio a buscar est sendo passado atravs de uma varivel.

    Assim como na busca de arquivos, podemos utilizar a palavra prximo
e uma mscara de seleo em lugar do nome do diretrio, caso queiramos
listar as subpastas de uma pasta.
Veja o exemplo:

busca b dir "*.*"
repete r 2
busca b dir prximo
fim repete
Escreve b
Enquanto b <> ""
busca b dir prximo
Escreve b
Fim enquanto
Termina mudo

    O exemplo acima lista todas as subpastas da pasta de trabalho.

    Vamos explicar agora o incio um tanto estranho desse algoritmo:
    Quando fazemos
busca b dir "*.*"
sempre o resultado retornado para b  "." um ponto.
Quando fazemos depois
Busca b dir prximo,
o resultado retornado  sempre ".."  dois pontos finais.
    E a sim, a terceira vez que fizermos
busca b dir prximo,  que obtemos a primeira subpasta.
    Para no ficar muito repetitivo, fizemos a primeira busca.
A varivel b recebeu o ponto.
Ento fizemos o bloco de repetio determinada, para fazer as outras
duas buscas.
Saindo do bloco, j teremos o nome da primeira subpasta existente na
pasta de trabalho.

    E o exemplo abaixo,  vlido?

Busca b dir
Escreve b
termina

O que acontece se rodarmos esse cdigo?


*Comando dir cria;

Esse comando serve para criar uma pasta.
Forma de uso:
Dir cria "caminhodiretorio"
    Acrescentando um & (e comercial) aps o nome do diretrio, caso haja
algum erro ao cri-lo, este no  mostrado.

    Exemplo:

Dir cria "c:\teste"

Cria na unidade 'c' uma pasta chamada 'teste'.

    Outro exemplo vlido:

Escreve "Nome do diretrio a criar:"
L d

 Dir cria d &

    Cria um diretriom, cujo o nome  informado pelo usurio.
O e comercial ao fim da linha indica que no deve ser acusado erro ao
tentar criar o diretrio.

*Comando dir remove;
    Esse comando serve para remover pastas;
    Forma de uso:
Dir remove "nomediretorio".
Acrescentando o smbolo & (e comercial) ao fim da linha, no acusa erro
ao tentar remover a pasta.

*Comando dir troca;
    Esse comando troca a pasta de trabalho por uma outra.
Forma de uso:
Dir troca "nomediretorio"
Colocando um & (e comercial ) aps o nome da pasta, no d erro ao
tentar trocar o diretrio.

Exemplo:

Dir troca "c:\curso"

O exemplo acima coloca o diretrio 'c:\curso' como o diretrio de
trabalho.

Outro exemplo vlido:

Escreve "Informe o novo diretrio de trabalho:"
L d
Dir troca d
Termina

O exemplo acima troca para um diretrio cujo o nome foi passado via
teclado pelo usurio.

    Assim terminamos a aula 14.

    Exerccio:

Fazer um programa com as seguintes caractersticas:
*pedir ao usurio que informe o nome de uma pasta;
*listar os arquivos e subpastas dessa pasta, gravando o resultado em um
arquivo texto;
*o nome do arquivo com a listagem dos arquivos e subpastas deve ser
determinado pelo usurio;
*A listagem no deve ser impressa na tela, somente gravada no arquivo;


*entregar a resposta at o dia 26/11, enviando para o seguinte endereo:
sanfersite@uol.com.br

Boa sorte!
