Pra quem não se deu ao trabalho de entender, o enredo é o seguinte. Estou numa janela de comandos do Windows e num diretório que contém um arquivo chamado file.txt contendo oito bytes. Daí eu invoco o comando de linha "ftp" e me conecto a um servidor remoto. Verifico que não existe no servidor FTP um arquivo com o mesmo nome e me engano usando o comando "get file.txt" ao invés do "put file.txt".
A mensagem de erro "550 file.txt: No such file or directory" é bastante clara e indica exatamente o que eu fiz de errado. Mas... ao sair do comando ftp e listar o conteúdo do diretório local sou surpreendido ao ver que o arquivo file.txt foi truncado e está com zero bytes!
Parece que quando fazemos um "get" no ftp do Windows ele abre o arquivo pra escrita antes de verificar se o arquivo existe no servidor FTP. Nesse caso, a abertura pra escrita trunca o arquivo local e o deixa com tamanho 0.
Um colega me disse que no Windows 98 e no Windows 2000 o arquivo local é removido do diretório. O exemplo acima foi executado num Windows XP, que não remove o arquivo mas o deixa vazio. Parece que eles estão melhorando... alguém pode testar no Windows Vista pra ver se já está corrigido? :-)
Em tempo, testei na minha máquina Linux (Kubuntu 7.04) e o problema não ocorre.
Gustavão … fiz o teste aqui e adivinha !??!?! No Vista o problema não existe, ou seja, o arquivo ficou intacto. Siceramente não achei que funcionaria, mas pelo jeito a M$ corrigiu o problema.
ResponderExcluir[]’s
Gustavo Adorno
Gugs
ResponderExcluirNo Vista Business funciona.