Windows Powershell para reemplazos de nombres de archivos

Estimados lectores:

Hola a todos y perdón por el retraso al escribir. Entre el cambio de trabajo, el cambio de países (dos veces en un mes) y las consecuentes mudanzas, los cursos, las enormes distancias en Londres, etc., llevo unos meses que no tengo tiempo prácticamente ni para mirar el correo electrónico.

No obstante, creo que ya ha llegado la hora de publicar algo en el blog, aunque sea un artículo muy cortito. Espero que os resulte práctico.

El tema de hoy trata sobre la gestión de archivos y los cambios de nombres. Como la gran mayoría de vosotros sabéis (tanto si sois PMs como si trabajáis de traductores/revisores como de gestores de cuentas), en la industria de la traducción es costumbre indicar el nombre de los archivos con el código lingüístico al final del mismo, antes de la extensión de archivo. Hay clientes que prefieren el código con dos letras (por ejemplo, EN para inglés, ES para español, etc.), mientras que otros proveedores o empresas se decantan por el código completo de cuatro letras (por ejemplo, EN-GB para inglés de Reino Unido, ES-ES para español de España, etc.). Estoy seguro que ya sabéis a lo que me refiero. Además, no es tan raro encontrar empresas que además del código lingüístico también añaden otros sufijos tipo TRA o QA para marcar las versiones de traducción y revisión respectivamente.

La cuestión es que es muy habitual que las personas que gestionan las traducciones tengan la labor de, una vez los archivos se han traducido con herramientas CAT, cambiar los códigos lingüísticos a la lengua de destino. Muchos de vosotros pensaréis, ¡pero qué tontería! ¡Si mi herramienta CAT te añade automáticamente el código lingüístico! Eso es cierto, pero no significa que todo el mundo quiera usar el código lingüístico que añade tu herramienta CAT, en caso de que lo añada. Por poner un ejemplo, imaginemos que tenemos la siguiente situación.

Un cliente nos encarga una traducción de 10 archivos a 5 idiomas. Los archivos tienen el siguiente formato, CodidoDeProyecto_ID_de_idioma.ExtensiónDeArchivo, por ejemplo, 24870_EN.xlsx o 558741_DE.xml.

Archivos antes

La instrucción que nos da el cliente es que necesita los archivos con los mismos nombres, pero con los ID de idioma correspondientes en formato largo. Si tuviésemos que cambiar cada uno de los 50 archivos a mano, con una media de 15 segundos por archivo (hacer clic con el botón derecho, seleccionar cambio de nombre, borrar la extensión, poner la correcta y guardar el cambio), tendríamos que invertir 12 minutos y 30 segundos. ¡Y únicamente con 50 archivos!

Esta tarea se puede automatizar fácilmente. En el mercado hay algunas herramientas gratuitas que lo hacen, pero en algunos casos en muchas empresas (y también entre traductores autónomos) existe reticencia (o directamente está prohibido) a instalar software que no está aprobado o para el que no se tiene servicio de asistencia técnica en caso de problemas. Si esta es tu situación, te propongo usar Windows Powershell, que está disponible en la mayoría de las versiones de SO Windows. Para arrancarlo, hay que hacer Inicio > Ejecutar y escribimos Powershell.

Se nos abrirá una colorida consola de comandos.

–          Lo primero que debemos hacer es ir hasta la carpeta donde están los archivos que queremos modificar. Para ellos escribimos cd “C:\Users\Alvaro\Documents\Blog”, y entre las comillas ponemos la ruta que deseamos. Pulsamos Intro.

PowerShell

–          A continuación escribimos Dir | Rename-Item –NewName { $_.name –replace “_EN”,”_ES-ES” }, donde “_EN”,”_ES-ES” son la parte que queremos reemplazar y el nuevo sufijo respectivamente. Es importante tener en cuenta que Powershell hace los reemplazos de forma literal, por lo que hay que ser cuidadoso con lo que ponemos. En el ejemplo, he decidido incluir hasta el guión bajo, para asegurarme que solo se cambia el sufijo lingüístico. Podría haber incluido, por ejemplo, también la extensión de archivo y habría quedado así “EN.xml”,”ES-ES.xml”. Para gustos los colores, ¿no? (dicho esto me gustaría añadir que también podríamos con este método cambiar extensiones de archivo por lotes). Cuando terminemos de escribir este comando, pulsamos Intro.

–          Comprobamos nuestra carpeta y listo, el cambio de los archivos de EN a ES_ES está completado en mucho menos tiempo. Para 10 archivos, en lugar de 2,5 minutos, hemos invertido un solo minuto. Si hacemos las cuentas para el resto de archivos, vamos a ahorrar bastante tiempo.

Archivos Después

Esta operación es un ejemplo de como muchas veces automatizando tareas repetitivas pero sencillas podemos ahorrar tiempo y, además, evitarnos momentos tediosos durante el día a día. Además, también pone de manifiesto que a veces en nuestros PC tenemos muchísimas herramientas que infrautilizamos.

Eso es todo, espero que os resulte útil.

Un saludo,

Álvaro

Recomendación musical: Do I wanna know?, el single del que será el nuevo disco de los Artic Monkeys en septiembre. Temazo.

3 comentarios el “Windows Powershell para reemplazos de nombres de archivos

  1. Mónika Andersson dice:

    Gracias por compartir la información de Windows Powershell, no lo sabía antes. En el día hay que ahorrar tiempo a lo máximo y automatizar nuestro trabajo. Voy a comprobar Powershell siguiendo tus instrucciones y espero que describas alguna herramienta más.

  2. Omar Zempo dice:

    Mil gracias!!! me ahorraste horas de trabajo!!! Gracias!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s