Organizando arquivos baseados em palavras-chave em nomes de arquivos

2

Tenho muitos (ou seja, mais de 10 000) documentos no meu PC que pretendo organizar em várias categorias, com base nos respetivos nomes de ficheiro. A maioria dos arquivos tem nomes de arquivos descritivos, de modo que eles podem ser facilmente categorizados apenas em seus nomes.

Eu pensei em criar um índice das palavras que aparecem nos nomes dos arquivos (ainda, eu não sei como conseguir isso), então passando pelo índice e escolhendo as palavras mais relevantes (isso será feito manualmente) que se tornará os nomes das categorias dos meus arquivos. Então, eu quero criar pastas automaticamente com base nesses nomes de categoria e mover os arquivos (automaticamente) nessas pastas. Quando um arquivo pertence a várias Categorias, quero criar HardLinks NTFS (em vez de copiar cada arquivo várias vezes).

Eu uso o Windows 7. Você sabe como posso realizar melhor essa tarefa?

Eu pensei em usar o Everything (que pode exibir instantaneamente uma lista de todos os arquivos que têm uma determinada palavra em seus nomes de arquivo), mas o maior problema é obter os nomes das categorias (desde que eu precise primeiro de uma lista de todas as palavras que aparecem nos nomes dos arquivos).

    
por digital-Ink 02.06.2013 / 22:53

1 resposta

1

Script Short PowerShell que lista todos os nomes de arquivos que correspondem a "category_name-anyText.anyExtension".:

$dir="Q:\Test";
$categories="Q:\categories.txt";
$cats=@{};

get-childitem $dir -recurse | %{

    $file=$_;
    if(-not $file.PSIsContainer)
    {
        if( $file.BaseName -match "^([a-z0-9]+)[-]+.*$")
        {
            if( -not $cats.ContainsKey($matches[1]))
            {
                $cats.add($matches[1], [int]1);
            }
            else
            {
                $val=$cats.Get_Item($matches[1]) + 1;
                $cats.Set_Item($matches[1], $val);
            }
        }
    }
}

$cats.GetEnumerator() | %{

    echo $_.Key >> $categories;
}

Exemplo: Arquivos:

   David_Eddings-The_Mallorean.epub
   Jan_Myrdal-Confessions_of_a_disloyal_european.txt
   George_Orwell-Homage_to_Catalonia.mobi

resultaria nas seguintes categorias:

   David_Eddings
   Jan_Myrdal
   George_Orwell

Esta é a regex que combina nomes de arquivos: "^ ([a-z0-9] +) [-] +. * $", isso teria que ser ajustado para corresponder a diferentes categorias.

    
por 03.06.2013 / 01:11