Hola, necesito extraer Caracteres de una variable (ruta)
@echo off
Set Ruta=C:\Musica\Melodia.mp3
Echo La Cancion es %Ruta%
Pause
Entonces quiero que al colocar Echo la cancion es %Ruta% me aparezca solo Melodia.mp3
No se si me entienden,pero si yo cambio de ruta me imprima en pantalla solo lo que hay despues del ultimo slash (\) . salu2(//)
Método chapuza:
Acortar caracteres de la variable:
@echo off
Set "Ruta=C:\Musica\Melodia.mp3"
Echo La Cancion es %Ruta:~10%
Pause
Método correcto:
Expandir un parámetro:
@echo off
Call :Expandir "C:\Musica\Melodia.mp3"
Pause
:Expandir
Echo %~nx1
Goto :EOF
WTF!!!!!!!!!!!!!!!!!!!
Citar
@echo off
Call :Expandir "C:\Musica\Melodia.mp3"
Pause
:Expandir
Echo %~nx1
Goto :EOF
COMO ? LO HACES :OOOOOOOOOOOOOOOOOOOOOO
Aver %~nx1 Es una variable ? xD Quiero un tutorial con eso extraño xddddd y como lo hace para explicar que despues de .... a como pero ah xd.....
GRACIAS y Salu2
Cita de: geormarsch en 15 Febrero 2012, 01:25 AM
%~nx1 Es una variable ?
Nop, Es un parámetro. Se le puede llamar variable especial.
"
C:\Musica\Melodia.mp3" Es el parámetro 1 (
%1), y lo expandimos a "
%~nx1" ("
%~Nombre y Extensión de 1")
Aqui tienes un tutorial de
Lauburu, (Y abajo hay un post mio, soy "pitoloko", con más información complementaria):
http://www.portalhacker.net/index.php/topic,149270.0.html
Salu2
No entendi mucho me darias otro ejemplo :D
Cita de: geormarsch en 15 Febrero 2012, 02:32 AM
No entendi mucho me darias otro ejemplo :D
El tutorial está muy bien explicado, Yo no puedo aportar mucho más... Estudialo, Es una parte MUY importante, Si no se sabe usar parámetros no se sabe usar batch.
@echo off
color 07
Call :Expandir "C:\Musica\Melodia.mp3" "C:\Musikote\Base.wav"
Pause
:Expandir
Echo %%1 = %1
Echo %%2 = %2
Echo+
Echo %%~n1 = %~n1
Echo %%~n2 = %~n2
Echo+
Echo %%~x1 = %~x1
Echo %%~x2 = %~x2
Echo+
Echo %%~p1 = %~p1
Echo %%~p2 = %~p2
Echo+
Echo %%~dp1 = %~dp1
Echo %%~dp2 = %~dp2
Echo+
Echo %%~dpnx1 = %~dpnx1
Echo %%~dpnx2 = %~dpnx2
Echo+
Goto :EOF
(http://img36.imageshack.us/img36/3176/prtscrcapture2q.jpg)
@echo off
Setlocal enabledelayedexpansion
Set var=ABCDELEKTROKLMNOPQRSTUVWXYZ
Call :Short %Var% 4 7
Pause
:Short
ECHO+
ECHO " %%VAR%% " = %VAR%
ECHO+
ECHO " %%VAR:~4,7%% " = %VAR:~4,7%
ECHO+
ECHO " ^!Var:~%%2,%%3^! " = !Var:~%2,%3!
ECHO+
Goto :EOF
(http://img851.imageshack.us/img851/8733/prtscrcapturevv.jpg)
El tema se trata en un tema en esta misma sección.