Pregunta Lote: haga algo si el nombre de archivo contiene cadena


Intento crear un archivo por lotes para recorrer todos los archivos en un directorio, convirtiendo todos los archivos sin extensión a un archivo CSV.

Entonces quiero que cambie el nombre de esos archivos ya que reciben un nombre de archivo predeterminado. "EDI_ORD_1"

Para convertir los archivos a CSV, simplemente he usado esto:

rename *. *.csv

Ahora, para recorrer todos los archivos, estoy usando esto:

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

He intentado usar find para buscar en cada archivo "EDI_ORD" pero esto no está funcionando. ¿Cómo puedo cambiar el nombre solo de los archivos relevantes? No puedo usar el comando de nuevo nombre ya que necesito cambiar el nombre basado en un número de cuenta que se encuentra dentro de cada archivo CSV.


0


origen


Si necesita leer esa segunda información de un archivo adicional, deberá anidar una segunda búsqueda del contenido de ese archivo. Personalmente prefiero usar PowerShell para esto ya que es compatible con el comando Import-Csv entre otros. - Seth
He intentado usar find para buscar en cada archivo "EDI_ORD" pero esto no está funcionando. Iterar solo los archivos que necesita. for /r %%i in (*EDI_ORD*) do - Akina
Renombrar un archivo a la extensión .csv no convert de ninguna manera. Cuando busque un archivo, debe filtrarlo for /r %%i in (*EDI_ORD*) do ( - LotPings


Respuestas: