<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JaLeRu Blog &#187; Util</title>
	<atom:link href="http://jestudio.cl/blog/tag/util/feed/" rel="self" type="application/rss+xml" />
	<link>http://jestudio.cl/blog</link>
	<description></description>
	<lastBuildDate>Mon, 17 Jan 2011 22:16:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Programación en Batch 4º Parte</title>
		<link>http://jestudio.cl/blog/programacion-en-batch-4-parte/</link>
		<comments>http://jestudio.cl/blog/programacion-en-batch-4-parte/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 01:14:32 +0000</pubDate>
		<dc:creator>JaLeRu</dc:creator>
				<category><![CDATA[Computación]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Parte]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Util]]></category>

		<guid isPermaLink="false">http://jestudio.cl/blog/?p=139</guid>
		<description><![CDATA[Esta es la cuarta parte de otros tres tutoriales más. Ve aquí El primero, El Segundo y El tercero. En el tutorial pasado vimos como ejecutar acciones en gran cantidad de archivos a la vez y además creamos un código que creaba listas de reproducción para winamp. Como prometí, ahora les enseñare a hacer listas [...]]]></description>
			<content:encoded><![CDATA[<p><important>Esta es la cuarta parte de otros tres tutoriales más. Ve aquí <a title="Programacion con Batch 1º Parte" href="http://jestudio.cl/blog/programacion-en-batch-1%c2%ba-parte/">El primero</a>, <a title="Programacion con Batch 2º Parte" href="http://jestudio.cl/blog/programacion-en-batch-2-parte/">El Segundo</a> y <a title="Programacion con Batch 4º Parte" href="http://jestudio.cl/blog/programacion-en-batch-3%c2%ba-parte/">El tercero</a>.</important><br />
En el tutorial pasado vimos como ejecutar acciones en gran cantidad de archivos a la vez y además creamos un código que creaba listas de reproducción para winamp.<br />
Como prometí, ahora les enseñare a hacer listas pero para Windows Media Player, agrege un tema más para que entiendan mejor el código de la lista.</p>
<p><strong>Indice:</strong></p>
<ul>
<li> Acortar direcciones</li>
<li> Listas de reproducción para Windows media Player.</li>
</ul>
<h2>Acortar direcciones:</h2>
<p>Cuando usamos un <strong>for</strong> para recorrer los archivos nos devuelve la dirección entera del archivo. Esto es molesto, cuando lo que queremos es solo su nombre, o saber su ubicación.<br />
Ahora les voy a enseñar una técnica para acortar esas direcciones.<br />
En el caso por ejemplo de que la variable <strong>X</strong> tenga la dirección de un archivo y solo quisiéramos saber su extensión, usaríamos:</p>
<pre>%~xX</pre>
<p>y si quisiéramos saber en que unidad se encuentra:</p>
<pre>%~dX</pre>
<p>Para entender un poco mejor esto, miremos esto como una sintaxis.<br />
Siempre se usara <strong>%~</strong> seguido de una letra que representa lo que queremos obtener (el nombre, la extensión, etc) y por ultimo el nombre de la variable.<br />
Las letras que podemos usar son:</p>
<ul>
<li><strong>f </strong> Ruta y Nombre</li>
<li><strong>d </strong> Nombre Unidad donde se encuentra</li>
<li><strong>p </strong> Solo ruta</li>
<li><strong>n </strong> Solo nombre</li>
<li><strong>x </strong> Extensión</li>
<li><strong>s </strong> Ruta abreviada</li>
<li><strong>a </strong> Atributos</li>
<li><strong>t </strong> Fecha y hora de creación</li>
<li><strong>z </strong> Tamaño del archivo</li>
</ul>
<p>Por ejemplo, este programa nos mostrara algunos datos de los archivos que existan en la misma carpeta y directorios superiores.</p>
<pre>@echo off
FOR /R %%X in (*) DO (
echo Nombre: %%~nX
echo Extension: %%~xX
echo Tamaño: %%~zX
echo.
)</pre>
<p>Como vez, en el caso de los <strong>FOR</strong> debemos agregar un <strong>%</strong> extra adelante.</p>
<h2>Lista de Reproducción para <strong>Windows Media Player:</strong></h2>
<p>Más o menos siguiendo el esquema anterior, lo que hize fue ver como era aproximadamente como era un archivo de Lista de Reproducción. Después de un no muy intenso análisis podemos ver que es así.</p>
<pre>&lt;smil&gt;&lt;body&gt;&lt;seq&gt;
&lt;media src="RUTA NO FIJA DEL ARCHIVO.mp3" /&gt;
&lt;/seq&gt;&lt;/body&gt;&lt;/smil&gt;</pre>
<p>El problema que encontré en la sintaxis de los archivos es que al intentar hacer un <strong>echo</strong> a  los signos <strong>&lt;</strong> y<strong> &gt;</strong> el código dejaba de funcionar. Pues encontré la solución, simplemente agregando el signo ^ antes de cada <strong>&lt;</strong> o <strong>&gt;. </strong>Pues así quedó:</p>
<pre>@echo off
echo. &gt; Lista.wpl
echo ^&lt;smil^&gt;^&lt;body^&gt;^&lt;seq^&gt; &gt;&gt; Lista.wpl
FOR %%X in (*.mp3) DO (
echo ^&lt;media src="%%~nX%%~xX" /^&gt; &gt;&gt; Lista.wpl
)
echo ^&lt;/seq^&gt;^&lt;/body^&gt;^&lt;/smil^&gt; &gt;&gt; Lista.wpl
start Lista.wpl
exit</pre>
<p><strong>Explicación:</strong></p>
<p>(Si tienes dudas sobre esta explicación, es que no entendiste bien los 3 tutoriales anteriores)</p>
<ul>
<li><strong>@echo off</strong><br />
Eliminamos el Eco</li>
<li><strong>echo. &gt; Lista.wpl</strong><br />
Creamos un nuevo archivo Lista.wpl o borramos su contenido si existe</li>
<li><strong>echo ^&lt;smil^&gt;^&lt;body^&gt;^&lt;seq^&gt; &gt;&gt; Lista.wpl</strong><br />
Escribimos<strong> </strong><em>&lt;smil&gt;&lt;body&gt;&lt;seq&gt;</em><strong> </strong>en la primera linea del archivo Lista.wpl</li>
<li><strong>for %%X in (*.mp3) DO ()</strong><br />
Ejecutar la acción entre paréntesis para cada archivo encontrado con extensión .mp3</li>
<li><strong>echo ^&lt;media src=&#8221;%%~nX%%~xX&#8221; /^&gt; &gt;&gt; Lista.wpl</strong><br />
Escribir <em>&lt;media src=&#8221;NombreArchivo+Extencion&#8221;/&gt;</em> en la siguiente linea de Lista.wpl, esta accion se repite por cada mp3 encontrado.</li>
<li><strong>echo ^&lt;/seq^&gt;^&lt;/body^&gt;^&lt;/smil^&gt; &gt;&gt; Lista.wpl</strong><br />
Escribir <em>&lt;/seq&gt;&lt;/body&gt;&lt;/smil&gt;</em> alfinal del archivo.</li>
<li><strong>start Lista.wpl</strong><br />
Abrir la lista con el programa predeterminado</li>
<li><strong>exit</strong><br />
Cerrar ventana DOS</li>
</ul>
<p>Pues, eso es todo por hoy. Ojala les sea de gran utilidad. Hasta la próxima <img src='http://jestudio.cl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <em>(Si es que me da para más)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jestudio.cl/blog/programacion-en-batch-4-parte/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>

