Script di Windows che utilizza espressioni regolari per "ordinare" i file


0

Ho un sacco di file (~ 10.000) che vorrei ordinare. I nomi dei file sono simili ai seguenti:

"variable-name_setting1_setting2_setting3_method_group"

Tutte e tre le impostazioni hanno numeri da 1 a 6 cifre (a seconda dell'impostazione), il metodo è una stringa (che inizia sempre con f, seguita da 3 a 4 caratteri) e il gruppo può essere ignorato (non intendo ordinare per anche quello).

Ho due tipi di variabili e ognuno di questi due tipi ha due "sottotipi" (ad esempio "ty_x_pe1", "ty_y_pe1", "ty_x_pe2" e "ty_y_pe2").

Il caso ottimale sarebbe quello di creare una struttura di cartelle basata sui file trovati (primo metodo, quindi digitare e sottotipo di variabile, quindi impostazioni).

Dato che non ho molta familiarità con gli script (sfortunatamente mi manca il software per scrivere un programma e non sono più abituato a scrivere codice C o Java), non sono sicuro di quanto sia semplice.

Supponendo che sia troppo ingombrante, sarebbe davvero utile avere uno script che sposta i file (senza creare (sotto) cartelle) solo dopo che gli ho dato informazioni sulla cartella di destinazione (ad esempio, spostando tutti i file con un certo metodo e una certa variabile) . Spero che la mia domanda sia chiara. Grazie in anticipo!

modifica: i nomi dei file di esempio sono

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

Esistono due tipi di variabili (crx_gdp e crx_r) e due "sottotipi" (t e b). "g" è solo un personaggio che può essere ignorato.

Una sottocartella dovrebbe apparire come la seguente:

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

method1 è identificato da "fweo2", credit_gdp è identificato da "crx_gdp", total_credit è identificato dalla t in crt_gdp e le restanti tre cartelle sono identificate dai numeri. Spero sia abbastanza chiaro.


1
con PowerShell puoi ordinare con una chiave che costruisci al volo, ma i tuoi dettagli non sono ancora chiari, dovresti modificare la tua domanda con alcuni esempi di vita reale e i risultati previsti.
LotPings

Come si ottiene dalla stringa fweo2al nome method1?
DavidPostill

Ho un elenco che collega questi due. Ma andrebbe anche bene se la cartella esterna si chiamasse fweo2, dal momento che è semplice (e non ingombrante) rinominare le cartelle esterne.
tho_mi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.