Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
20/05/1991

< O Caminho das Pedras >


A Trilha Zero anterior acabou em uma árvore. Mas que árvore é essa que existe em nossa máquina?

Bem, é que quando desenvolveram o DOS para o primeiro PC não havia discos rígidos. E em seu disquete cabiam apenas 160 Kbytes. E achar um arquivo ali não era problema. Então ao DOS foi ensinado o seguinte: quando receber um comando, se não for um dos comandos internos, verifique se é o nome de um arquivo executável armazenado no disco. E, se for, execute-o. E temos conversado.

E tudo corria na santa paz, até que inventaram os discos rígidos com alguns megabytes de capacidade. E começaram a surgir problemas de administração: achar um arquivo num bicho desses era uma tarefa hercúlea. E, com todos misturados, ninguém mais sabia quem era o que. Uma confusão dos diabos. Para resolver, criaram o conceito de subdiretórios, que nada mais são que "compartimentos" onde se pode guardar arquivos correlatos e passam a funcionar como uma espécie de "subdisco". E você pode levar o DOS a pensar que é assim, "entrando" em um subdiretório. Se você digitar um comando, ele vai procurar apenas entre os arquivos daquele subdiretório, que chama de "diretório corrente". Porém, mesmo quando se está em um dado subdiretório, pode-se acessar arquivos em outros. Basta informar ao sistema que caminho deve seguir para encontrá-lo, partindo do diretório raiz, ou seja, informar seu path. Pois "path", em inglês, significa exatamente "caminho", "via" ou "rota".

Subdiretórios "pai" podem ter sub-diretórios "filhos". O que facilita muito a organização do disco rígido, permitindo grupar programas semelhantes e manter todos os arquivos de um programa no mesmo subdiretório - muito útil para quando se quer removê-lo: apaga-se o conteúdo de seu subdiretório, sem precisar "catar" arquivos espalhados por todo o disco. Mas que leva a uma situação bastante complicada caso se use mais de três ou quatro níveis: o disco rígido pode se transformar em um labirinto.

Sim, mas e a árvore? Bem, é que com subdiretórios a representação gráfica de um disco rígido vai ficar parecendo uma. O tronco sai da raiz, e dele saem vários galhos. Que também podem se ramificar. Na verdade, se a árvore não ficasse de cabeça para baixo, a analogia seria perfeita. Mas ainda assim ela é tão boa que essa representação se chama, justamente, árvore de diretório. E o diretório de onde saem todos os demais, diretório raiz.

Se seu micro tem um disco rígido, sugiro usar subdiretórios para facilitar sua vida. Vai instalar um novo programa? Copie seus arquivos para um subdiretório só dele. Escolha um nome sugestivo e pequeno. E junte os subdiretórios de programas semelhantes sob um único "pai". Por exemplo: se você dispõe de alguns utilitários de um único arquivo executável e, digamos, mais três constituídos de diversos arquivos, não os "pendure" diretamente em seu diretório raiz: ao invés disso, crie um sub-diretório chamado, digamos, UTIL, e coloque ali todos os utilitários de um só arquivo. Depois, crie nele mais três subdiretórios, e em cada um copie os arquivos daqueles três. Fica mais fácil "se achar" no labirinto de diretórios. Faça o mesmo com editores de texto e outros programas que tenham características semelhantes. Você vai ver como a vida fica mais simples.

Mas essa facilidade tem também seus percalços. E um deles é justamente o fato de que o DOS procura somente no diretório corrente pelos programas a serem executados, o que nos obriga a entrar no diretório correspondente para só então chamar o programa. Mas existem alguns aplicativos usados tão freqüentemente que seria interessante poder executa-los a partir de qualquer diretório.

E é aí que entra o comando "path". Para avisar ao DOS onde estão essas preciosidades, ou seja, ensinar-lhe o "caminho das pedras". Dizer ao sistema que existe um conjunto de diretórios onde residem programas especiais. Solicitado a executar um programa, o DOS continua buscando por ele no diretório corrente. Mas, depois, vai procurar nos que foram incluídos no comando path. Só então, se não achar, é que ele dá aquele aviso irritante de "comando ou arquivo inexistente". Incidentalmente: path é um comando comum, podendo ser usado a qualquer momento. Mas seu lugar ideal é o Autoexec.Bat. Basta incluir nele uma linha que comece pela palavra "path" seguida de um espaço e das "paths" onde estão aqueles programas especiais, separadas por um ponto-e-vírgula. Micreiro que se preza não dispensa um path em seu Autoexec.Bat. Mas não exagere: a área de memória onde o DOS guarda esses nomes - que ele chama de "environment", ou ambiente - é limitada. Se você coloca demasiadas vias de diretório em seu comando path, vai receber a mensagem "Out of environment space". (É possível aumentar a área do "environment" com o comando "shell", mas reduz-se a memória disponível).

Mas essa não é a única dificuldade. Com a possibilidade de se mover para dentro e fora de subdiretórios, tornou-se imperioso saber sempre "onde estamos", ou seja qual é o diretório corrente. Pois há o risco de nos perdermos no emaranhado do disco rígido.

Para isso podemos usar o comando "prompt". É incrível a quantidade de coisas que pode ser feita com esse comando. E é ainda mais incrível a quantidade de bobagens que os beócios conseguem exibir na tela com ele, tipo "Aqui estou a seu dispor, meu amo". Carregando-se o driver de tela Ansi.Sys, pode-se usar os comandos de movimentação de cursor e os caracteres gráficos para fazer os desenhos mais fantásticos. Que ficam uma gracinha na tela. Mas ter que encará-los antes de cada comando, convenhamos...

O prompt, no mínimo, exibe sempre o drive corrente. Mas pode também incluir outras informações, como data, hora e o diretório corrente. Se lhe basta ser informado do drive e diretório correntes, inclua no seu Autoexec.Bat uma linha contendo apenas: "prompt $p$g".

Os cifrões são sinais para avisar ao DOS que o que se segue são códigos. O "p" é, justamente, a abreviação de "path". E o "g" corresponde a "greater", aquele sinal de "maior que" que fica no final do prompt. E surge na tela a informação necessária, sem maiores baboseiras: o disco e diretório correntes.

Pois é. Um Autoexec.Bat pode conter mais, muito mais: os programas residentes que desejamos carregar, comandos como "set", "mode" e, se for o caso, um programa gerenciador tipo Shell, Desqview ou Windows. Ou não. Mas o path e o prompt (e nos XT, o timer /s) devem sempre estar lá.

E até a próxima semana. Quando vamos falar, afinal, de bits e bytes. Prepare-se para fazer contas.

B. Piropo