terça-feira, 31 de janeiro de 2012

Dificuldade em apagar uma pasta :-)

Estava eu a tentar apagar uma pasta com o nome "I Don't Know How She Does It" no explorador do Windows 7 mas este dava erro e informava-me que o ficheiro não existia. Mas como??? Eu estou a ver o ficheiro e tu também no explorador, como é que não existe???
Decidi renomear a pasta para depois apagar. Sem sucesso....
Decidi mover a pasta. Sem sucesso...
Dasse...Estou a ficar fulo...
Decidi ir até à velhinha linha de comandos e tentei apagar a pasta com o rmdir

H:\Novos>rmdir /s "I Don't Know How She Does It "
I Don't Know How She Does It , Are you sure (Y/N)? y
The system cannot find the file specified.

O sistema não consegue encontrar o ficheiro??? mas eu usei o autocomplete para colocar o nome do ficheiro, e ele colocou-me este nome "I Don't Know How She Does It "!!!
Fez-se luz o nome parece ter um caracter no final i.e. o ficheiro depois do "... It" tem um espaço. Mas para o windows este espaço não faz parte de um nome válido. As API do Windows listam os ficheiros mas quando tentam manipular os mesmos negam a sua existência.
Mas se não faz parte deum nome válido como foi ali parar???? Bem essa resposta posso eu dar, a pasta foi criada num mac com o espaço no final.
Como resolver o problema?
Temos que indicar à Api do windows para ignorar todos os tipos de verificação de nomes de ficheiros, para isso usamos \\?\

H:\Novos>rd /s "\\?\H:\Novos\I Don't Know How She Does It "
\\?\H:\Novos\I Don't Know How She Does It , Are you sure (Y/N)? y

et voilá...

1 comentário: