Sítio do Piropo

B. Piropo

Jornal o Estado de Minas:
< Coluna Técnicas & Truques >
Volte
30/09/2010

< Nomeando arquivos >


Já tentou gravar um arquivo escolhendo o nome com carinho só para descobrir que o sistema o recusou com uma sucinta mensagem de erro informando que o “nome não é válido”? Ou avisando que “o caminho não existe”, quando tudo o que você quer é batizar seu arquivo de, por exemplo, “mais\um\texto.txt”? Ou uma situação ainda mais bizarra: ao tentar copiar um arquivo de uma pasta para outra, já viu seu nome ser recusado na pasta de destino embora tenha sido considerado válido na de origem? Por que estas coisas acontecem?
Bem, acontecem porque Windows tem regras estritas para nomes de arquivos e recusa nomes que nelas não se enquadrem. E até que são regras bastante liberais se comparadas às do DOS, que não aceitava caracteres acentuados nem espaços e limitava os nomes a oito caracteres.  Imagine a dificuldade de, alguns meses depois, ao encontrar o arquivo “REVIAMAR.DOC”,  lembrar (ou deduzir) que se tratava do “Relatório de Viagem ao Marrocos”. E ainda ter que se virar para arranjar um nome diferente para o novo relatório da viagem ao Maranhão. Dureza...
Mas vamos ao que interessa: as regras de Windows para nomes. Que, embora aceite acentos, cedilhas e espaços, recusa peremptoriamente qualquer nome que contenha um ou mais dos seguintes caracteres: “\”, “/”, “?”, “:”, “*”,”<”, “>” além das próprias aspas duplas (“). É claro que há uma razão para isto: todos eles são usados pelo próprio sistema para finalidades específicas. Por exemplo: “?” e “*” são os chamados caracteres curingas, que substituem um (?) ou diversos (*) caracteres nas chamadas “Expressões regulares”. Os sinais “>” e “<” são redirecionadores de dispositivos. E a barra invertida “\” é usada para separar pastas ou diretórios nos caminhos de arquivo (como, por exemplo, “C:\Program Files\Internet Explorer\iexplore.exe”; e é por isto que quando se tenta incluir a barra invertida no nome de um arquivo o sistema avisa que “o caminho não existe”, pois interpreta a barra como um separador de nomes de pasta na indicação de um caminho).
Mas não é só isto. Há também uma limitação de tamanho, se bem que não tão espartana quanto os míseros oito caracteres do DOS: em Windows o limite é de 256 caracteres (embora a ajuda de Windows 7 indique que são 260). Parece mais que suficiente para qualquer situação. Mas cuidado que há um “porém”: são de fato 256 caracteres, porém este número é o limite não do nome, mas do que o sistema chama de “especificação completa do arquivo”. E a especificação completa inclui não apenas o nome, mas também o caminho e a extensão.
Então, se você deseja nomear o arquivo que acabou de editar como: “carta para minha idolatrada esposa explicando que aquilo que ela pensava que era marca de baton no meu colarinho na verdade não passava de uma pequena mancha de tinta deixada pela caneta de meu chefe” (199 caracteres com os espaços) editado pelo Word 2010, extensão “docx” (5 caracteres, contando com o ponto que a separa do nome, esteja ou não oculta) e quer gravá-la em “C:\users\severinosalvadorseverosilva\documentos\missivas\” (57 caracteres), babau.
Mas babau por que? Ora, porque a especificação completa do arquivo contém 261 caracteres (199 + 5 + 57), ultrapassando limite aceito por Windows. Mas sua carta com o nome original pode perfeitamente morar na pasta “C:\Temp” (7 caracteres, que somados aos demais 199 + 5 resultam em 211, total aceito por Windows) enquanto você a burila (pois uma carta como esta tem que ser muito burilada) e espera juntar coragem para enviá-la. Mas ao copiá-la ou movê-la para a pasta “missivas”, Windows estrilaria informando que o limite foi excedido.
Sim, eu sei, faltou falar sobre as extensões. Mas o espaço é curto e um dia voltaremos a elas.
Incidentalmente: decidi abraçar de vez as redes sociais. Agora vocês podem me encontrar tanto no Twitter (@bpiropo) quanto no Facebook (Benito Piropo), onde terei prazer em recebê-los. Parodiando o grande herói Chapolin Colorado: “sigam-me os bons!”.

B. Piropo