segunda-feira, dezembro 03, 2007

Standardizar o Windows

Se são utilizadores de sistemas operativos baseados em Unix (Linux, Mac OS, etc.) e ainda, se costumam utilizar a consola / terminal / linha de comandos, concerteza que já se depararam com a frustração que é escrever "ls" na linha de comandos do Windows. Pois ... , o comando não existe nesse sistema operativo. Em vez de "ls" para listar os ficheiros de uma directoria, a Microsoft decidiu complicar e escolher o belo comando "dir".
Ao fim de alguns dias com essa frustração no trabalho, onde tenho de usar Windows, e com alguma regularidade a linha de comandos, lembrei-me de uma pequena ideia que poderia ajudar.
Saquei o BloodShed DevC++, uma excelente IDE open-source com ferramentas GNU, para programar C e C++ em Windows e escrevi o seguinte código:

#include <stdio.h>

int main() {
system("dir");
return 0;
}


Gravei o ficheiro com o nome "ls.c", mandei o DevC++ compilar e voilá: "ls.exe" prontinho a usar. De seguida, dado que não tinha privilégios de Admin na máquina foi preciso adicionar ao PATH a pasta onde o novo ficheiro se encontrava, bastando para isso fazer numa linha de comandos:

path = %PATH%;%HOMEPATH%\pasta_que_tem_o_ficheiro


Se tivesse privilégios Admin na máquina bastaria apenas colocar o ficheiro na pasta C:\WINDOWS e estaria prontinho a funcionar.
Agora basta-me digitar o comando "ls" e a linha de comandos do Windows mostra logo o conteúdo da directoria onde me encontro (chamando o comando dir).

Há coisas fantásticas não há? :P