Usuário com melhor resposta
Busca através de comando DIR retorna arquivos não esperados.

Pergunta
-
Olá
Curso Ciência da Computação, na faculdade ICEC (UNIP) em Cuiabá/MT.
Como trabalho, temos um software que manipula e gerencia imagens, relacionando as imagens a um código, sem banco de dados, apenas renomeando os arquivos.
EXEMPLO:
Código: 123
Quantidade de Imagens Selecionadas: 2
O sistema Copia as imagens selecionadas para uma determinada pasta renomeando-as com os nomes: "123p01.jpg" e "123p02.jpg"
O software também realiza consultas através do código, mostrando todas as imagens relacionadas ao código (nome da imagem).
PROBLEMA:
==============
Trabalhando com Windows Server 2003 em rede local para armazenar as imagens.
Em grande volume de arquivos JPG copiados pelo software, ocasionalmente quando realizo consulta o software retorna além das imagens relacionadas ao código(nome do arquivo) outras de códigos(nomes) diferentes.
TESTES:
==============
Através do EXPLORER navego até a pasta e faço uma busca [F3] pelo código. 123*.* e ele me retorna corretamente.
Através do CMD do Prompt MS-DOS utilizando o comando DIR busco o código. 123*.* ele me retorna informações a mais, como na busca do software.
IMAGEM ABAIXO DEMONSTRA O PROBLEMA:
http://farm8.staticflickr.com/7092/7336456778_3ab33ca7bb_b.jpg
OBSERVAÇÕES:
==============
Verifiquei este problema acontencendo em outras máquinas com Windows XP, que testamos salvar grande volume de imagens nesta maquina de forma local e através da rede.
A solução encontrada para este problema é individual. Quando verifico algum arquivo listado de forma errada, excluo o arquivo excedente e o salvo novamente.
Já executei SCANDISK, DESFRAGMENTADOR, ANTIVÍRUS, DESATIVEI/ATIVEI O SERVIÇO DE INDEXAÇÃO DO DISCO, e não resolveram este problema.
Creio que possa ser algum problema de indexação, ou algo assim.
Obrigado pela atenção.
Aguardo contato.
Thiago Morais
Academico de Ciência da Computação- Editado Thiago A. O. Morais segunda-feira, 25 de junho de 2012 22:41
Respostas
-
Thiago,
Vi que para um número grande de arquivos o Windows se comporta desta forma, também trabalho com milhares de arquivos, no meu caso são logs. Por exemplo se busco 2010*.log ele retorna alguns arquivos como 2011011107100900000E6C.log e 2012121117100800000A0C.log na busca, sempre em torno de 2 a 20 arquivos acabam vindo erroneamente. Creio que seja algum problema no core do Windows nas tabelas de indexação de arquivos. Você vai ver o mesmo erro nos comandos move, copy, até mesmo o robocopy apresentam o mesmo problema quando passamos buscas em diretórios com muitos arquivos (no meu caso testei em diretórios com mais de 5 mil arquivos).
Testando alguns programas como o UNIX tools (comando ls e mv) no windows também encontrei o mesmo problema.
ls 2010*.log
2011041901401400001468.log 201109022305260000119C.log
201104201140040000110C.log 201109022340060000149C.log
2011042206401900001744.log 20110904110538000017A4.log
20110422134002000014DC.log 20110904154014000014A8.log
201104221640060000134C.log 2011090423301600001718.logFiz uma tentativa de usar o Linux direto a partir de NFS para rodar a busca do diretório Windows e o Linux processa corretamente.
root@ABSDCSV003:/mnt/ABSDCSV004/Log/2011# ls 2010*.log
ls: cannot access 2010*.log: No such file or directory
root@ABSDCSV003:/mnt/ABSDCSV004/Log/2011# ls 2012*.log
ls: cannot access 2012*.log: No such file or directory
Atencisamente,
Ernesto Niklaus
- Marcado como Resposta Paul HaroModerator quinta-feira, 24 de janeiro de 2013 15:39
Todas as Respostas
-
Thiago,
Olha esse link se lhe ajuda:
http://www.tiexpert.net/sistema-operacional/comandos-de-dos/dir.php
MCP-W2K3/MCDST/MCSA/MCTS SE A RESPOSTA FOR UTIL, CLASSIFIQUE-A!
-
Olá Gustavo, infelizmente não ajudou. Eu conheço o camando DIR.
Meu problema é bem pontual.
O windows está ocasionalmente, gravando os arquivos de alguma forma errada, sendo que quando vou buscar estes arquivos (e coincidir de serem os que foram gravados de forma errada) por meio de algum comando, sendo DIR no DOS, ou através de algum outro software gerado através outra linguagem de programação (no meu caso, tenho um compilado pelo delphi), os arquivos resultantes da busca são excedentes.Ou seja, qualquer busca através de alguma instrução de comando feita retorna excesso.
Como apresentado na imagem abaixo:
Fui realizar uma busca, através do comando DIR, por arquivos que continham no nome o texto: "142691"
RESULTADO:
A busca me retornou os arquivos que realmente continham "142691" e também outros que NÃO tinham nenhum vínculo ("142001" , "142240" , "142280").Estes arquivos que não possuem vínculo que são os arquivos gravados de forma errada.
Excluindo estes arquivos e salvando-os novamente, eles funcionam, e não aparecem novamente nesta mesma busca.Como tenho um grande volume de arquivos, bem mais que 100MIL, gostaria de saber como eu poderia corrigir isto de forma generalizada. Através de alguma ferramenta que possa verificar as tabelas de indexação do Windows e corrigi-las (não sei se realmente é isto, mas creio eu que possa ser este o problema).
Já executei SCANDISK, DESFRAGMENTADOR, ANTIVÍRUS, DESATIVEI/ATIVEI O SERVIÇO DE INDEXAÇÃO DO DISCO, e não resolveram este problema.
Aguardo notícias.
- Editado Thiago A. O. Morais terça-feira, 26 de junho de 2012 14:12
-
Thiago,
Vi que para um número grande de arquivos o Windows se comporta desta forma, também trabalho com milhares de arquivos, no meu caso são logs. Por exemplo se busco 2010*.log ele retorna alguns arquivos como 2011011107100900000E6C.log e 2012121117100800000A0C.log na busca, sempre em torno de 2 a 20 arquivos acabam vindo erroneamente. Creio que seja algum problema no core do Windows nas tabelas de indexação de arquivos. Você vai ver o mesmo erro nos comandos move, copy, até mesmo o robocopy apresentam o mesmo problema quando passamos buscas em diretórios com muitos arquivos (no meu caso testei em diretórios com mais de 5 mil arquivos).
Testando alguns programas como o UNIX tools (comando ls e mv) no windows também encontrei o mesmo problema.
ls 2010*.log
2011041901401400001468.log 201109022305260000119C.log
201104201140040000110C.log 201109022340060000149C.log
2011042206401900001744.log 20110904110538000017A4.log
20110422134002000014DC.log 20110904154014000014A8.log
201104221640060000134C.log 2011090423301600001718.logFiz uma tentativa de usar o Linux direto a partir de NFS para rodar a busca do diretório Windows e o Linux processa corretamente.
root@ABSDCSV003:/mnt/ABSDCSV004/Log/2011# ls 2010*.log
ls: cannot access 2010*.log: No such file or directory
root@ABSDCSV003:/mnt/ABSDCSV004/Log/2011# ls 2012*.log
ls: cannot access 2012*.log: No such file or directory
Atencisamente,
Ernesto Niklaus
- Marcado como Resposta Paul HaroModerator quinta-feira, 24 de janeiro de 2013 15:39