Apagada docs

Aprendiendo a programar el pasado

Herramientas de usuario

Herramientas del sitio


es:bat:renombra_archivos_vcf

Renombrar archivos vcf

Supongamos que exportas de un servidor de correo roundcube tus grupos de contactos, cada grupo en un archivo contacts.vcf. Esto genera una serie de archivos contacts (NN).vcf en tu disco duro.

¿Cómo conseguir ponerles un nombre lógico?

El siguiente script asume que tienes windows XP o superior (comando “FOR /F” y uso de FOR anidados) y que has instalado la utilidad sed en alguna parte del disco duro (sed se puede encontrar en suites de comandos linux para windows, o incluso en algunos instaladores).

FOR %A in (contacts*.vcf) do for /F "usebackq" %B in (`sed -ne "/CATEGORIES/{;s/^.*://;p;q;}" "%A"`) do ren "%A" "%~nA%B%~xA"

Explicación:

  • Para cada archivo llamado contacts.vcf, guarda el nombre en %A y
    • Obtén el resultado de
      sed -ne "/CATEGORIES/{;s/^.*://;p;q;}" "%A"

      y guárdalos en %B

      • Recorre cada línea de %A imprimiendo solo las que se indiquen explícitamente.
        • Si la línea empieza por CATEGORIES:
        • Elimina todos los caracteres hasta el primer “:” (incluido).
        • Imprime la línea
        • Finaliza (no imprimas o proceses más líneas)
      • (fin de la condición)
    • Guarda la salida en %B y
    • Renombra “%A” a (Nombre de %A)(%B)(Extensión de %A)
  • (fin de la condición)
Este sitio web utiliza cookies. Al utilizar el sitio web, usted acepta almacenar cookies en su computadora. También reconoce que ha leído y entendido nuestra Política de privacidad. Si no está de acuerdo abandone el sitio web.Más información
es/bat/renombra_archivos_vcf.txt · Última modificación: 2021/11/15 04:57 por nepenthes