Archivo por lotes de Windows para buscar una palabra y renombrar el archivo
He estado buscando en muchos mensajes diferentes, pero no puedo encontrar un script por lotes que funcione para mí. Tenemos una aplicación que solo produce un archivo llamado SALES.CSV. Esto es lo que parece una de las líneas:
DUNKAN,172225A,11/18/21,2655,11/03/21,11/25/21,1100,"",1,0,"Freight (Distance)",3100,1,-1578.5,FLAEX
Dependiendo de cuál sea la última palabra, necesito que el archivo se llame SALESFLAEX.CSV. Solo hay algunas palabras diferentes para buscar: PREHA, FLAEX y PWGEX. Estas palabras nunca aparecerán en el mismo archivo. Por lo tanto, solo necesito encontrar la palabra que actualmente existe en el archivo.
Encontré este código y lo modifiqué, pero solo funciona para un archivo.
findstr /m “FLAEX” SALES.CSV >Nul
if %errorlevel%==0 (
ren SALES.CSV SALESFLAEX.CSV
)
si %errorlevel%==1 (
echo “FLAEX” no se encontró dentro del archivo Log.txt!
)
pause
¿Alguien tiene un mejor método para hacer esto?
davy.ai
Solución para cambiar el nombre de los archivos basándose en la última palabra
Se puede modificar el código existente para recorrer un directorio y cambiar el nombre de todos los archivos que contienen la palabra “SALES” y tienen una de las tres palabras específicas (PREHA, FLAEX, PWGEX) como última palabra.
Aquí hay un ejemplo de código:
Esto es lo que hace el código:
Esto debería funcionar para todos los archivos que cumplen el patrón especificado y tienen una de las tres palabras específicas como última palabra.