elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Transformar nombre de los archivos a 001,002,003.png,etc?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Transformar nombre de los archivos a 001,002,003.png,etc?  (Leído 5,682 veces)
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Transformar nombre de los archivos a 001,002,003.png,etc?
« en: 10 Junio 2013, 20:27 pm »

Hola buenas, pues estoy buscando un Batch que haga esto... Y que meta los archivos en una carpeta llamada "Resultados" como lo podria hacer? :huh:

Los achivos a transformar están todos en la misma carpeta, simplemente se tienen que copiar con ese nuevo nombre... :)

Un saludo.


En línea


Interesados hablad por Discord.
crazykenny


Desconectado Desconectado

Mensajes: 4.240



Ver Perfil WWW
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #1 en: 10 Junio 2013, 20:41 pm »

Hola, Ikillnukes; en cuanto a saber donde puedes encontrar un Batch que haga lo que pides, y, si te refieres a saber donde descargartelo, me disculpo por no poder ayudarte en este tema.
No obstante, si quieres saber como hacerlo, tengo una idea;
Lo primero, hacer un bucle que vaya comprobando los archivos que hay hasta que no queden archivos (en lo cual no sabria decirte como hacer dicho bucle puesto que he mirado algun ejemplo "por encima", pero no en batch).
Despues, y, dentro del bucle, ha de haber una variable (y preferiblemente tipo "float" y/o de otro tipo que permita mantener y/o asignarle a estas valores grandes; ya sabes, de valores de mas de 255), en la cual, cada vez que se vaya a repetir el bucle, aumente en 1.
Despues, comprobar el valor de la variable y asignarla a un string cualquiera de esta manera y con estas tres dos condiciones;
-Si el valor de la variable es inferior a diez, asignarle dos ceros al string y, despues, añadirle la variable al string ya sabes, haciendo algo tipo variable_final$="00"+variable_float#.
-Si el valor de la variable es menor a 100 y superior a 9, asignarle un 0 a la string y despues la variable haciendo algo tipo variable_final$="0"+variable_float#.
-Si el valor es superior a 99, asignar la variable a la string directamente haciendo algo tipo variable_final$="0"+variable_float#.
Por ultimo, y, dependiendo de los comandos disponibles en batch, puedes hacer que copie el archivo (llamemosle "inicial") a la ruta nueva con el nombre de la variabe mencionada arriba y despues eliminar el archivo inicial, o bien renombrar el primer archivo (o archivo inicial) para despues copiarlo, y, despues de copiarlo, lo eliminas, aunque, bueno, si hay algun comando que permita hacer algo tipo cortar y pegar, se podria utilizar para saltarse el paso de utilizar un comando para eliminar el archivo.
Espero haberte podido ser de ayuda, y, bueno, muchas gracias por vuestra atencion.
Saludos.


En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #2 en: 10 Junio 2013, 21:27 pm »

Lo primero de nada es que lo que quieres hacer se denomina Renombrabiento (Renombrar archivos), Y se puede hacer con el comando "Ren" (o "Rename", es lo mismo):
Código
  1. Ren "Imágen.png" "001.png"

Lo que requieres se puede hacer, pero esto es Batch, requiere usar un poco de lógica, no es dificil pero llevaría bastante tiempo, ya que por cada X cantidad de archivos deberás usar X cantidad de ceros, por ejemplo:

menos de 10 archivos > 0.png
más de 10 archivos pero menos de 100 > 00.png
más de 100 archivos pero menos de 1000 > 000.png

Así que hay que escribir muchas condicionales en el código, y requiere su tiempo,
sincéramente, lo haría si fuese necesario, para algo soy moderador y sé Batch, pero en este caso no es necesario, lo considero perder el tiempo, ya que te recuerdo que estás en .NET, y con un "interop increment" y un par de select cases se hace bien rápido comparado con todo lo que hay que escribir en Batch.

EDITO: De hecho yo ya hice un Bat con ese tipo de renombrado, donde se detectaba la cantidad de ceros que habia que añadir a la izquierda de cada archivo a rneombrar según la cantidad total de archivos, pero no sé donde publiqué el código ni con que nombre, fue hace más de un año como mínimo xD.

PD: No te dejo "tirado",  voy a hacer un snippet para VBNET para hacer este tipo de renombrado.

Saludos!
« Última modificación: 10 Junio 2013, 21:34 pm por EleKtro H@cker » En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #3 en: 10 Junio 2013, 21:43 pm »

Lo de los 0 no es necesario, solo era un ejemplo. ;)

Esto no tiene que ver nada con mi proyecto. :P Es solo una cosilla para hacer pruebas con los
picboxes. :)
« Última modificación: 10 Junio 2013, 21:48 pm por Ikillnukes » En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #4 en: 10 Junio 2013, 22:58 pm »

Bueno, de todas formas ya he codeado la función para hacerlo añadiendo los Ceros xD.
http://foro.elhacker.net/net/pequena_duda_con_un_string-t392198.0.html;msg1860018#msg1860018

Si lo quieres hacer en Batch (sin incrementar por "ceros") entonces el código no requiere esfuerzo:

Código:
@Echo off
setlocal enabledelayedexpansion

For %%# in ("X:\carpeta\*.png") Do (
    set /A num+=1
    Ren "%%#" "!num!.%%~x#"
)

Saludos
« Última modificación: 11 Junio 2013, 09:57 am por EleKtro H@cker » En línea



simorg
Ex-Staff
*
Desconectado Desconectado

Mensajes: 8.302



Ver Perfil
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #5 en: 11 Junio 2013, 04:25 am »

Uff, con lo facil que es usar The rename......


http://uploadingit.com/file/3d7hhqkdbxhek0me/THE%20Rename%202.1.6.rar



Salu2. ;D
En línea

z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #6 en: 11 Junio 2013, 07:32 am »

Bueno, de todas formas ya he codeado la función para hacerlo añadiendo los Ceros xD.
http://foro.elhacker.net/net/pequena_duda_con_un_string-t392198.0.html;msg1860018#msg1860018

Si lo quieres hacer en Batch (sin incrementar por "ceros") entonces el código no requiere esfuerzo:

Código:
@Echo off
setlocal enabledelayedexpansion

For %%# in ("X:\carpeta\*.png") Do (
    num+=1
    Ren "%%#" "!num!.%%~x#"
)

Saludos

Error:

Código
  1. programa o archivo por lotes ejecutable.
  2. Ya existe un archivo con el mismo nombre
  3. o no se ha encontrado el archivo.
En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #7 en: 11 Junio 2013, 09:57 am »

perdón, lo escribí al vuelo y cometí un misstype, símplemente añade un SET /A aquí:
Código:
set /A num+=1

PD: La costumbre de no usar keywords a la izquierda de las variables en otros lenguajes cada vez se apodera más de mi xD.

Error:

Código
  1. Ya existe un archivo con el mismo nombre
  2. o no se ha encontrado el archivo.

Ese error que comentas es "normal", si ya tienes un archivo que se llama "1.png" no se puede renombrar al mismo nombre y el bat fallará con ese archivo, pero nada grave.

Saludos
« Última modificación: 11 Junio 2013, 10:02 am por EleKtro H@cker » En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Transformar nombre de los archivos a 001,002,003.png,etc?
« Respuesta #8 en: 11 Junio 2013, 14:53 pm »

Un último apunte xD Los archivos se han renombrado con el hombre 1..png, 2..png, etc  :silbar:

Ya lo he arreglado, con poner

Código:
Ren "%%#" "!num!%%~x#"

En vez de:

Código:
Ren "%%#" "!num!.%%~x#"

Ya va bien. ;)
« Última modificación: 11 Junio 2013, 15:59 pm por EleKtro H@cker » En línea


Interesados hablad por Discord.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
nombre de los archivos grabados con Nero
Software
lucas25 2 2,492 Último mensaje 1 Junio 2004, 07:19 am
por lucas25
Como transformar archivos extension m3u de playlist a mp3
Multimedia
cerebral 5 9,455 Último mensaje 3 Agosto 2004, 02:29 am
por cerebral
Problema: ¿Como eliminar archivos según nombre?
Scripting
angelverde57 3 5,110 Último mensaje 9 Mayo 2008, 05:53 am
por angelverde57
como cambiarle el nombre a los archivos?
Programación Visual Basic
[SMT] 1 1,658 Último mensaje 5 Octubre 2008, 20:38 pm
por APOKLIPTICO
Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Scripting
cialem 4 6,217 Último mensaje 18 Julio 2012, 16:13 pm
por cialem
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines