Qualquer pessoa que queira que a pasta Documentos contenha apenas as coisas que colocar lá sabe que a pasta Documentos padrão é completamente inadequada para esta tarefa. Todo programa parece querer colocar suas configurações, dados ou algo igualmente irrelevante na pasta Documentos , apesar do fato de haver pastas especificamente para este trabalho 1 .
Para que isso não pareça vazio, tome minha pasta pessoal "Documentos" como exemplo. Eu nunca o uso, pois nunca, em nenhuma circunstância, salvo qualquer coisa nessa pasta. E, no entanto, contém 46 pastas e 3 arquivos no nível superior, para um total de 800 arquivos em 500 pastas. São 190 MB de "documentos" que não criei. Obviamente, quaisquer documentos reais se perderiam imediatamente nessa bagunça.
Minha pergunta é : algo pode ser feito para melhorar a situação o suficiente para tornar os "Documentos" úteis novamente, digamos nos próximos 5 anos? Os programadores podem, de alguma forma, ser instruídos em massa para não usá-lo como um depósito de lixo? O sistema operacional pode começar a relatar um local "falso" oculto no AppData por meio das APIs existentes, permitindo apenas ao Explorer e às várias caixas de diálogo Abrir / Salvar saber onde reside a pasta "real" de documentos? Ou alguma tentativa é completamente inútil ou mesmo desnecessária?
1 Para o registro, aqui está um rápido resumo dos vários diretórios padrão que devem ser usados em vez de "Documentos":
RoamingAppData
para dados e configurações específicos do usuário . Este é o diretório a ser usado para dados não temporários específicos do usuário. Qualquer coisa colocada aqui estará disponível em qualquer máquina na qual um determinado usuário efetue logon nas redes em que isso estiver configurado. Porém, não coloque arquivos grandes aqui, pois eles diminuem a velocidade de login / logout nesses ambientes.LocalAppData
para dados e configurações específicos do usuário e da máquina . Esses dados diferem para cada usuário e cada máquina. É também aqui que dados grandes e específicos do usuário devem ser colocados.ProgramData
para dados e configurações específicos da máquina . Eles são os mesmos, independentemente de qual usuário está conectado, e não farão roaming para outras máquinas em uma rede.GetTempPath
para todos os arquivos que podem ser limpos sem perda de dados quando não estiverem em uso. Este também é o lugar para coisas como caches , porque, como dados temporários, não é necessário fazer backup de um cache. Coloque seu enorme cache aqui e você poupará alguns problemas de backup.
"Documentos" em si só deve sempre ser usado se o usuário especificado-lo manualmente, digitando um caminho ou selecionando-o em uma caixa de diálogo Salvar. Essa é a única vez que ele é sempre apropriada para salvar o material em "Documentos".