2.20
Explorador do Windows vs CMD.EXE
O nosso Windows teve uma evolução clara no ambiente gráfico, pois existem algumas limitações quando usado no modo consola. Além de ser mais fácil usar o Explorador do Windows, também é mais prático em várias situações. De qualquer modo é sempre bom ter-mos consciência de quais as limitações do DOS.
Modo de TrabalhoExplorer.exe > Ambiente gráfico
cmd.exe > Ambiente de texto
Executar um programaexplorer.exe > Duplo Clique
cmd.exe > No caso de ser um programa do Windows (Notepad.exe) escrever o nome do programa em qualquer directoria. Caso seja um programa instalado por nós, ir à directoria do programa e escrever o nome do executavel completo. Exemplo: cd C:\Programas\Notepad++\ e dentro do diretório escrever notepad++.exe para o mesmo abrir.
Copiar, Mover, Apagarexplorer.exe > Com o botão direito do rato, arrastar e escolher copiar ou mover. Para apagar seleccione o ficheiro e carregue em delete para o mesmo ir para a reciclagem. Caso queira apaga-lo para sempre, antes de premir delete, carregue em Shift continuamente.
cmd.exe > Ir à directoria que tem o ficheiro que desejamos apagar e usar "del ficheiro.txt". Para copiar é necessário usar o caminho completo. Exemplo: cp c:\exemplo.txt c:\Documents and Settings\user\My Documents\Ficheiros de texto\
Child Shells
Quando abrimos o explorador do Windows, podemos sempre abrir outra pasta numa nova janela.
Em Linux/Unix existe uma aplicação que tem mais ou menos o mesmo efeito. Posso afirmar que em Linux essa aplicação (screen) é bem mais completa, mas afinal em Windows também existe algo parecido e que neste caso tem uma razão especial.
Na Lição passada acabamos por falar muito por alto em variáveis.
Agora vou expor um pouco mais esse assunto dando alguns exemplos práticos:
- Código:
-
c:\DOS> set aqui=Estamos na shell principal
c:\DOS> echo. %aqui%
Estamos na shell principal
c:\DOS>
Em seguida fazemos o comando
command /k.
Como podemos observar estamos agora num caminho abreviado se assim se pode chamar.
Se antes estavamos em C:\Documents and Settings\user\ agora estamos em C:\Docume~1\user\
A opção
/k dá ordem que o processo seja
kontinuo. Quase poderemos dizer que o processo está em Background. Ao dar-mos a ordem de saída voltamos para o caminho principal ou para a Main Shell, sabendo que estivemos numa shell secundária.
Comando prompt
O comando prompt é usado para mudar a aparência do prompt da shell.
Lembre-se que as variáveis normais já prédefinidas são $p$g. O $p indica a drive que estamos (C:\) e o caminho/directório (Windows\system32) e o $g define o símbolo >.
Podemos então mudar o nosso prompt por exemplo para:
- Código:
-
c:\DOS>prompt shell $p$g
O resultado será
- Código:
-
shell C:\DOS>
shell C:\DOS>
shell C:\DOS>_
Depois saia >> exit >> C:\DOS>
Agora juntemos os dois comandos abordados:
- Código:
-
C:\DOS>command /k prompt shell $p$g
shell C:\DOS>
Existem dois tipos de Child Shells que é preciso conhecermos.
1.
Return-code shell
2.
Debug-mode shell
1:Return-codeSabendo como as usar, ajuda-nos a escrever e a fazer debug em scripts Batch.
Grande parte dos scripts que escrevemos enviam-nos informações sobre o mode que o mesmo foi executado "Return-code", também conhecido como ERRORLEVEL. Este código guardado na memória tem o tamanho de um byte quando o programa/script acaba de ser exexutado. Pode ter um valor entre o
0[/] e os [b]255. Não há um regra geral sobre este tipo de erros, mas o normalmente ele aparece das seguintes formas:
0 >> O programa/script informa-nos que está tudo OK ou nada para reportar.
1 >> Informação útil do programa/script (especifico para cada programa)
255 >> O programa/script informa-nos de um erro de condição.
Vamos então mudar a nossa shell para uma child shell de forma a que nos lembremos que estamos numa shell Return-code
- Código:
-
C:\DOS>prompt RCode $p$g
RCode C:\DOS>_
Agora tentamos usar a aplicação scandskw << ScanDisk
- Código:
-
RCode C:\DOS>start /w scandskw
Return code (ERRORLEVEL): 254
Usamos a opção /w para fazer com que a aplicação só terminasse de trabalhar quando terminasse todo o processo que estava a fazer.
2: Debug-mode shellDebuging code é o mesmo que ler o código linha a linha.
Esta child Shell a única coisa que nos irá apresentar é o código que escrevemos.
Existe aplicações que detectam a linha que tem um ou mais erros, mas neste caso não serve para nada.
Mesmo assim aqui fica a forma de o fazer em DOS:
- Código:
-
command /y /c script.bat