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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] cambiar ultimos caracteres "ren" [Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] cambiar ultimos caracteres "ren" [Solucionado]  (Leído 5,610 veces)
romanjr

Desconectado Desconectado

Mensajes: 25


Ver Perfil
[Batch] cambiar ultimos caracteres "ren" [Solucionado]
« en: 16 Febrero 2011, 02:13 am »

saludos a todos los del foro, una vez mas yo con otra pregunta

como puedo cambiar el nombre de una serie de archivos pero solo su ultimo caracter, es decir tengo varios archivos:

Código
  1. hola_1_nada-.jpg
  2. hola_2_nada-.jpg
  3. ...
  4. ...
  5. hola_10_nada-.jpg
  6. hola_11_nada-.jpg
  7. ...
  8. ...
  9. hola_100_nada-.jpg
como se daran cuenta la cantidad de caracteres varia segun el consecutivo, asi que, ¿ como puedo cambiar el nombre de todos los archivos quitando solo el ultimo caracter?

ya intente con
ren *-.jpg *.jpg
ren *?-.jpg *.jpg
y otras combinaciones pero los resultados son desastrozos
alguna idea... de antemano muchas gracias


« Última modificación: 16 Febrero 2011, 22:11 pm por Leo Gutiérrez. » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: cambiar ultimos caracteres "ren"
« Respuesta #1 en: 16 Febrero 2011, 02:40 am »

Prueba esto:

Suponiendo que tienes el Batch en donde están las imágenes:

Código
  1. @echo off
  2.  
  3. for /f "tokens=*" %%_ in ('dir /b *.jpg') do (
  4. call:rename "%%_"
  5. )
  6.  
  7. goto:eof
  8.  
  9. set "name=%~n1"
  10. set "name=%name:~0,-1%"
  11. rename %1 %name%.jpg
  12.  


« Última modificación: 16 Febrero 2011, 02:58 am por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
romanjr

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: cambiar ultimos caracteres "ren"
« Respuesta #2 en: 16 Febrero 2011, 02:58 am »

Gracias leo por contestar, dejame probarlo, te aviso y otra vez gracias
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: cambiar ultimos caracteres "ren"
« Respuesta #3 en: 16 Febrero 2011, 02:59 am »

Acabo de editar el código, copia y pega el nuevo, por favor.

PD: Estoy por contestar a tu otra duda.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
romanjr

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: [Batch] cambiar ultimos caracteres "ren"
« Respuesta #4 en: 16 Febrero 2011, 07:11 am »

stimadoleo... este batch si no se que pase, pero no quita el ultimo caracter del nombre del archivo??? me manda un error que dice:

la sintaxis del comando no es correcta

dejame ver que es lo que estoy haciendo mal de todos modos tu aportacion es  bienvenida

gracias
En línea

romanjr

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: [Batch] cambiar ultimos caracteres "ren"
« Respuesta #5 en: 16 Febrero 2011, 07:22 am »

Estimado leo... ya le di.... como el burro que toco la flauta  :laugh: habia una falta de caracteres  en el codigo, el codigo queda asi:

@echo off

for /f "tokens=*" %%_ in ('dir /b *.jpg') do (call:renombra "%%_")
goto:eof

:renombra
set "name=%~n1"
set "name=%name:~0,-1%"
ren "%~1" "%name%.jpg"

una ve mas gracias a tu codigo pude resolverlo

espero podamos seguir escribiendo y que me sigas aclarando misdudas ya que eres una eminencia.

gracias y saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines