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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] Cambiar extension a archivos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] Cambiar extension a archivos  (Leído 8,257 veces)
ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
[BATCH] Cambiar extension a archivos
« en: 19 Septiembre 2012, 16:40 pm »

Buenas  ;-)

Estoy intentando cambiar de manera masiva las extensiones de ciertos archivos, para ello he creado este código

Código:
@echo off
Title Renombrar extensiones de archivos

for %%i in ("Anna Grace _ You Make Me Feel.m4r") do (
set filename="%%~ni"
echo %~dp0%filename%.m4r
echo %filename%.m4a
rename %~dp0%filename%.m4r %filename%.m4a
)
pause>nul

Sin embargo, no funciona. Si a partir del set, lo saco del bucle, filename si pilla el nombre pero el rename sigue sin funcionar. Qué estoy haciendo mal.

Saludos y gracias de antemano.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: [BATCH] Cambiar extension a archivos
« Respuesta #1 en: 20 Septiembre 2012, 02:49 am »

Hay varias cosas mal y otras que sobran, Aquí tienes:

Código
  1. @echo off
  2. Title Renombrar extensiones de archivos
  3.  
  4. for %%i in (*.m4r) do (
  5. REM Echo [+] %%~fi & Echo %%~dpni.m4a | MORE
  6. ECHO [Renombrado]: %%~nxi ^> %%~ni.m4a
  7. REN "%%~fi" "%%~ni.m4a"
  8. )
  9. pause>nul



saludos



Si a partir del set, lo saco del bucle, filename si pilla el nombre pero el rename sigue sin funcionar. Qué estoy haciendo mal.
Si quieres mostrar o usar la variable filename como intentabas, usa call y un simbolo de porcentaje extra:
Código
  1. For... (
  2.    Call Echo %%FILENAME%%
  3.    Call RENAME "%%FILENAME%%"
  4. )
  5.  
O habilita la expansión de variables.
Código
  1. Setlocal enabledelayedexpansion
  2. For... (
  3.    Echo !FILENAME!
  4. )


« Última modificación: 20 Septiembre 2012, 02:53 am por EleKtro H@cker » En línea

ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: [BATCH] Cambiar extension a archivos
« Respuesta #2 en: 20 Septiembre 2012, 02:58 am »

Una preguntilla, por que usas %%~fi, no deberia valer con %%~nxi??? Y.por que el uso de dobles %%, es para que las interprete como las variables locales del bucle??
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: [BATCH] Cambiar extension a archivos
« Respuesta #3 en: 20 Septiembre 2012, 03:05 am »

Una preguntilla, por que usas %%~fi, no deberia valer con %%~nxi???

En la linea de comentario "REM" simplemente te daba un ejemplo de como expandir a la ruta completa del archivo porque tu lo estabas intentando con "%~dp0"
"NX" expande al nombre y extensión del archivo, No es suficiente a menos que el FOR recorra subdirectorios con el parámetro "\R", en el cual nisiquiera sería necesario expandir a un nombre o ruta, bastaría con usar la variable en sí misma "%%i"

Y.por que el uso de dobles %%, es para que las interprete como las variables locales del bucle??
Exacto sinó no las reconocería.

Si intentas ejecutar un FOR directamente desde la consola entonces solo debes usar un simbolo %.

EDITO: hmmm ahora que vuelvo a leer tu pregunta creo que te estabas refiriendo a la variable "%%FILENAME%%" es por lo mismo, por la recursividad, si.

Saludos
« Última modificación: 20 Septiembre 2012, 03:07 am por EleKtro H@cker » En línea

ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: [BATCH] Cambiar extension a archivos
« Respuesta #4 en: 27 Septiembre 2012, 16:14 pm »

Siento no haber respondido antes, gracias por tu aclaración.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: [BATCH] Cambiar extension a archivos
« Respuesta #5 en: 27 Septiembre 2012, 16:32 pm »

Para eso estamos ::)

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
VBS/BATCH cambiar línea o sustituir caracteres en archivos
Scripting
derryp7r 3 3,379 Último mensaje 20 Noviembre 2012, 15:20 pm
por Eleкtro
[Solucionado][Batch] Archivos sin extensión
Scripting
KZN 0 1,518 Último mensaje 19 Marzo 2014, 11:04 am
por KZN
virus total analiza archivos de firmware;necesito cambiar extensión de archivo
Dudas Generales
Hason 2 3,306 Último mensaje 27 Marzo 2016, 20:28 pm
por Hason
Cambiar icono solo a una extension entera de archivos
GNU/Linux
unusuario 0 1,913 Último mensaje 10 Mayo 2016, 18:49 pm
por unusuario
copiar y cambiar extensiones de archivos con batch
Scripting
Tomoki 1 4,602 Último mensaje 25 Abril 2018, 08:12 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines