Um arquivo que o programa não encontra, um nome que o Windows recusa e um aviso de segurança a cada abertura do sistema costumam ter explicação no nome do arquivo, no caminho usado para chegar até ele ou na origem do arquivo. Esses detalhes aparecem em quase todo atendimento que envolve arquivos de integração, configurações e logs.
O nome e a extensão
A extensão é a parte do nome depois do último ponto, como .txt, .xml ou .exe, e indica ao Windows o tipo do arquivo e o programa que deve abri-lo. A extensão não muda o conteúdo: um arquivo de texto renomeado para .xml continua sendo o mesmo texto e só passa a ser aberto por outro programa.
Por padrão, o Explorador de Arquivos esconde as extensões dos tipos conhecidos. Com isso, um arquivo chamado pedido.xml.txt aparece como pedido.xml, e um arquivo renomeado para pedido.xml pelo Explorador pode continuar com a extensão .txt escondida no fim do nome. A opção Extensões de nomes de arquivos, no menu Exibir, mostra o nome completo.
O Windows não diferencia letras maiúsculas e minúsculas nos nomes, e Pedido.XML e pedido.xml indicam o mesmo arquivo. Os servidores Linux, comuns em FTP, SFTP e APIs, diferenciam, e um nome com uma letra trocada deixa de ser encontrado nesses servidores.
Caminhos
O caminho indica onde o arquivo está. Existem três formas comuns:
- Caminho absoluto: começa pela letra da unidade, como
C:\Integracao\entrada\pedido.xml, e aponta sempre para o mesmo lugar. - Caminho relativo: parte da pasta em que o programa está trabalhando, como
entrada\pedido.xml, e muda de destino quando essa pasta muda. - Caminho de rede: começa por duas barras e pelo nome ou pelo endereço do computador, como
\\servidor-loja\SISTEMA\entrada, e também é chamado de caminho UNC.
O caminho relativo explica uma falha comum: o programa funciona quando aberto pelo atalho e falha quando iniciado por uma tarefa agendada ou por um serviço. O atalho define a pasta de trabalho no campo Iniciar em, enquanto a tarefa agendada e o serviço começam em outra pasta, geralmente a C:\Windows\System32, e o caminho relativo passa a apontar para um lugar que não existe.
A unidade mapeada, como Z:, é um atalho para um caminho de rede e pertence à conta que a criou. Serviços, tarefas agendadas sem usuário conectado e programas abertos como administrador não enxergam essa letra, e o caminho de rede completo funciona em todos esses casos, desde que a conta tenha permissão na pasta compartilhada.
Nos comandos, um caminho com espaços precisa ficar entre aspas, como em dir "C:\Program Files (x86)", porque o espaço separa as partes do comando.
Nomes recusados e caminhos longos
O Windows recusa alguns nomes e caracteres:
- os caracteres
\ / : * ? " < > |, que têm função especial nos caminhos e nos comandos; - os nomes reservados para dispositivos, como CON, PRN, AUX, NUL, COM1 e LPT1;
- os nomes terminados em ponto ou em espaço.
Arquivos vindos de servidores Linux podem ter nomes com esses caracteres, e a cópia para o Windows falha ou troca os caracteres por outros.
O caminho completo também tem um limite clássico de 260 caracteres. O Windows atual aceita caminhos maiores quando um ajuste do sistema está ativado e o programa foi preparado para isso, mas muitos programas ainda falham ao passar desse tamanho, em geral com uma mensagem de caminho não encontrado ou de nome muito longo. Pastas aninhadas em muitos níveis, comuns ao extrair arquivos compactados, chegam a esse limite com facilidade.
Atributos e arquivos em uso
Cada arquivo tem atributos, como somente leitura, oculto e sistema. Um arquivo marcado como somente leitura recusa alterações, e o programa que tenta gravar nele informa acesso negado ou falha ao salvar. A aba Geral das Propriedades do arquivo mostra os atributos, e o comando attrib lista os atributos dos arquivos de uma pasta.
Um arquivo aberto por um programa pode ficar bloqueado para os outros. A tentativa de apagar, renomear ou substituir esse arquivo mostra uma mensagem de que a ação não pode ser concluída porque o arquivo está aberto em outro programa. O Monitor de Recursos, aberto pelo comando resmon, procura o nome do arquivo no campo Identificadores Associados, na aba CPU, e mostra o processo que mantém o arquivo aberto.
Os arquivos de uma pasta compartilhada também ficam bloqueados pelas estações que os abrem. No servidor da loja, a tela Pastas Compartilhadas, aberta pelo comando fsmgmt.msc, mostra em Arquivos Abertos quais contas mantêm cada arquivo aberto.
Arquivos vindos da internet e da rede
O Windows marca os arquivos baixados da internet. Ao abrir um programa com essa marca, o Windows mostra um aviso de segurança ou a tela do SmartScreen, e alguns programas recusam bibliotecas e planilhas marcadas. A caixa Desbloquear, na aba Geral das Propriedades do arquivo, remove a marca, e um arquivo compactado desbloqueado antes da extração gera arquivos sem a marca.
Um aviso parecido aparece quando um programa é aberto a partir de um caminho de rede com o endereço IP, como \\192.168.1.10\SISTEMA. O Windows trata o caminho com pontos no nome do computador como um local da internet, e não da rede local, e pede confirmação a cada abertura. O caminho com o nome do servidor, sem pontos, ou a inclusão do endereço nos sites da intranet local, nas Opções da Internet, abertas pelo comando inetcpl.cpl, faz o Windows tratar o caminho como rede local.
No suporte
Diante de um arquivo que o programa não encontra, convém mostrar as extensões no Explorador de Arquivos e conferir o nome completo, as letras maiúsculas e minúsculas, quando o arquivo vem de outro sistema, e a pasta de trabalho de quem executa o programa. Um caminho relativo que funciona no atalho e falha na tarefa agendada indica uma pasta de trabalho diferente, e o caminho de rede completo evita a dependência de uma unidade mapeada.
Para guardar
- A extensão indica o tipo do arquivo, e o Explorador de Arquivos esconde as extensões conhecidas por padrão.
- O caminho relativo depende da pasta de trabalho, que muda entre o atalho, a tarefa agendada e o serviço.
- O caminho de rede completo funciona onde a unidade mapeada não aparece.
- Um arquivo aberto por um programa fica bloqueado, e o
resmonmostra qual processo o mantém aberto. - Arquivos baixados e caminhos de rede com endereço IP recebem avisos de segurança.
O programa procura pedido.xml na pasta de entrada, e o Explorador de Arquivos mostra um arquivo com esse nome na pasta certa. Por que o programa não encontra o arquivo?
O nome real pode ser pedido.xml.txt, com a extensão .txt escondida pelo Explorador de Arquivos. A opção Extensões de nomes de arquivos, no menu Exibir, mostra o nome completo.
Toda vez que o sistema é aberto em uma estação, pelo atalho para \\192.168.1.10\SISTEMA, o Windows mostra um aviso de segurança. Por quê?
Porque o caminho usa o endereço IP, e o Windows trata o caminho com pontos como um local da internet. O atalho com o nome do servidor ou a inclusão do endereço nos sites da intranet local faz o aviso deixar de aparecer.