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.