none
Pesquisar arquivos em todos os discos locais RRS feed

  • Pergunta

  • Boa noite, estou trabalhando em um projeto e surgiu a seguinte dúvida: Preciso percorrer todos os discos locais que a máquina possui para procurar um arquivo e depois colocar o caminho do arquivo encontrado em um listview. E até agora, eu só consegui fazer com que a aplicação percorra o primeiro disco local encontrado. Segue o código que estou usando para percorrer:

    foreach (DriveInfo drive in DriveInfo.GetDrives())
    {
         if (drive.IsReady) 
         drives.Add(drive.RootDirectory.ToString());
    }
    No código acima, verifico os discos locais (drives) existentes e adiciono a um list.
    for (int j = 0; j < drives.Count; j++)
    {
        string drive = drives[j].ToString();
        buscarArquivo(nomeProcessos, extensao, drives[j].ToString());
    }

    No código acima, conto os drives e será o total de repetições do meu laço for, depois capturo o valor do índice e salvo em uma variável para que ao chamar a função buscarArquivo eu passe os parâmetros necessários.

    O problema é que a aplicação passa pelo laço for conforme a quantidade de drives existente, mas aparentemente, o código só é executado quando o laço termina. Com isso só o primeiro disco é escaneado.

    Preciso que ele faça a busca no primeiro disco e depois no segundo, terceiro, conforme a quantidade e após a busca, mostre o resultado em um listview.

    Fico no aguardo, desde já, obrigado!

    sexta-feira, 22 de maio de 2015 00:03