Bat para renombrar archivos con nombre de la carpeta contenedora

Iniciado por parrap, 10 Enero 2018, 14:33 PM

0 Miembros y 1 Visitante están viendo este tema.

parrap

Hola a todos!!!
Quisiera pedirle ayuda con esto:
Necesito renombrar archivos con el nombre de la carpeta que los contiene, por ejemplo:

Ruta
c:\Tema1\foto1.jpg
c:\Tema2\foto2.jpg
c:\Tema3\foto3.jpg

Resultado:
c:\Tema1\Tema1_foto1.jpg
c:\Tema2\Tema2_foto2.jpg
c:\Tema3\Tema3_foto3.jpg

Desde ya, muchas gracias!

Eleкtro

No te acostumbres a pedirlo todo hecho.

Código (dos) [Seleccionar]
@Echo OFF & (CHCP 1252)1>Nul

FOR %%a IN (".") DO (
    FOR %%b IN ("*") DO (
        If "%%~nxb" NEQ "%~nx0" (
            Echo "%%~nxb" ^> "%%~na_%%~nxb"
            Rename "%%~fb" "%%~na_%%~nxb"
        )
    )
)

Pause & Exit /B 0


Saludos








pablov376

Muchas gracias

como puedo iniciarme en el Scripting ?
por donde empezar?

**Aincrad**

Citarcomo puedo iniciarme en el Scripting ?
por donde empezar?

si quieres empezar a estudiar algún lenguaje Script empieza por VBS NO PIERDAS TIEMPO ESTUDIANDO BATCH .  esa es mi recomendación .

si no quieres aprender vbs . sino mas bien quieres algo como batch aprende POWERSHELL;D




Eleкtro

#4
Una aclaración: PowerShell es un lenguaje mucho más completo, complejo y y sofisticado que VBS (y por supuesto, que Batch). Una diferencia muy característica de PowerShell aparte de la sintaxis basada en Pipelines (cuyo uso no es estrictamente obligatorio, ahora veremos por qué), es que en PowerShell se puede usar las clases de .NET Framework, y esto aparte de ofrecernos acceso a cualquier miembro de las librerías que componen a .NET Framework, también nos permite desarrollar código en C# o VB.NET (clases de una librería, e incluso executables de consola o de escritorio) y compilarlo en tiempo de ejecución con PowerShell (mediante la clase 'System.CodeDom.Compiler.CodeDomProvider' de .NET Framework) para cargar el ensamblado en la memoria y usar los miembros de las clases compiladas.

Dicho de otro modo, PowerShell te permite desarrollar código en puro PowerShell (en este modo de uso predomina el uso de las pipes), también te permite usar (de forma opcional) diréctamente las clases de .NET Framework, y gracias a esto último además también te permite la posibilidad opcional de "hibridar" PowerShell con C#, VB.NET y JScript... en forma de clases encapsuladas en el script de PowerShell, es decir, si lo deseas puedes desarrollar tus códigos/algoritmos en C#, VB.NET o JScript en tu script de PowerShell. Todo un amplio universo de posibilidades que poder explorar con un solo lenguaje de scripting.

¿Cómo introducirse a la programación PowerShell?... tienes todo lo necesario por aprender en la web de Microsoft:


Saludos.