Batch - Fai qualcosa se il nome file contiene una stringa


0

Sto cercando di creare un file batch per scorrere tutti i file in una directory, convertendo tutti i file senza estensione in un CSV.

Voglio quindi rinominare quei file in quanto hanno un nome file predefinito. "EDI_ORD_ 1 "

Per convertire i file in CSV ho semplicemente usato questo:

rename *. *.csv

Ora per eseguire il ciclo attraverso tutti i file che sto usando questo:

for /r %%i in (*) do (
    echo %%i
)

Ho provato a usare find per cercare "EDI_ORD" in ciascun file ma questo non funziona. Come posso rinominare solo i file rilevanti? Non riesco a utilizzare nuovamente il comando rename poiché devo modificare il nome in base a un numero di account che si trova all'interno di ciascun file CSV.


Se devi leggere le seconde informazioni da un file aggiuntivo, dovrai annidare una seconda ricerca per il contenuto di quel file. Personalmente preferirei usare PowerShell per questo in quanto supporta il comando Import-Csvtra gli altri.
Seth,

1
Ho provato a usare find per cercare "EDI_ORD" in ciascun file ma questo non funziona. Iterare solo i file necessari. for /r %%i in (*EDI_ORD*) do
Akina,

1
Rinominare un file con estensione .csv non lo convertfa in alcun modo. Quando cerchi un file, devi filtrarlofor /r %%i in (*EDI_ORD*) do (
LotPings,
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.