Script do Windows usando expressões regulares para “classificar” arquivos

0

Eu tenho um monte de arquivos (~ 10.000) que eu gostaria de classificar. Os nomes dos arquivos se parecem com os seguintes:

"variable-name_setting1_setting2_setting3_method_group"

Todas as três configurações são números de 1 a 6 dígitos (dependendo da configuração), o método é uma string (que sempre começa com f, seguido por 3 a 4 caracteres) e o grupo pode ser ignorado (não pretendo para encomendar por isso também).

Eu tenho dois tipos de variáveis e cada um desses dois tipos tem dois "subtipos" (por exemplo, "ty_x_pe1", "ty_y_pe1", "ty_x_pe2" e "ty_y_pe2").

O caso ideal seria criar uma estrutura de pastas com base nos arquivos encontrados (primeiro método, digite e subtipo de variável e, em seguida, configurações).

Desde que eu não sou tão familiarizado com scripts (infelizmente eu não tenho o software para escrever um programa e eu não sou tão acostumado a codificar C ou Java mais) Eu não tenho certeza de como isso é simples.

Assumindo que isso é muito complicado, também seria útil ter um script que apenas mova arquivos (sem criar (sub) pastas) depois que eu dei a ele informações sobre a pasta de destino (por exemplo, mover todos os arquivos com um determinado método e determinada variável). Espero que minha pergunta esteja clara. Obrigado antecipadamente!

edite: Nomes de arquivos de exemplo são

crb_gdp_g_1600_16_20_fweo2_galt_1.txt
crb_r_g_1600_16_20_fweo2_galt_1.txt
crt_gdp_g_1600_16_20_fweo2_galt_1.txt
crt_r_g_1600_16_20_fweo2_galt_1.txt

Existem dois tipos de variáveis (crx_gdp e crx_r) e dois "subtipos" (t e b). "g" é apenas um caractere que pode ser ignorado.

Uma subpasta deve ter o seguinte aspecto:

method1/credit_gdp/total_credit/x_16/y_20/z_1600/

method1 é identificado por "fweo2", credit_gdp é identificado por "crx_gdp", total_credit é identificado pelo t em crt_gdp e as três pastas restantes são identificadas pelos números. Espero que isso esteja claro o suficiente.

    
por tho_mi 19.07.2017 / 20:03

0 respostas