Programación en Batch 3º Parte.

Antes de leer esto deberías ya saber algo de Batch, tal vez te sirva leer la primera y segunda parte.
Si sigo así tendré que escribir un libro. xD

En esta tercera parte, sera básicamente de técnicas y tips. Nuestro indice sera:

  • Abrir archivos con
  • Borrar de agrandes cantidades
  • Mover o Copiar de a grandes cantidades
  • Crear listas de reproducción (Para Winamp)

Abrir Archivos Con:

Como algunos saben al hacer clic en un archivo la mayoría de las veces nos muestra la opción Abrir Con.

Este tip es especial para archivos que necesitamos abrir y no podemos ingresar a la carpeta, para archivos que no tienen la opciones de Abrir Con, y también para los que tienen computadoras lentas que al apretar esta opción demoran mucho en mostrarla.

Como hablamos en los tutoriales anteriores con la función start iniciamos procesos, por lo que por eso haremos lo siguiente.

start archivo programa.exe

o también.

start programa.exe archivo

Ambas dos funcionan igual. Lo que hacemos es elegir un programa, y un archivo de manera que el programa abrirá al archivo dado. Como un ejemplo simple, abramos la carpeta C:/WINDOWS con el explorer.

start C:/WINDOWS explorer.exe

Para algunos archivos (Los que tiene direcciones y nombres con espacios) deberemos encerrarlos en comillas.

start "C:\Carpeta con Espacios\Archivo con Espacios.txt" notepad.exe

Como en este ejemplo donde abrimos un texto con Notepad (Bloc de Notas).

De esta manera podemos abrir cualquier archivo o carpeta solo sabiendo su dirección.

Aqui una pequeña lista de programas, para que sepan sus “nombres”.

  • explorer.exe -> Explorer (El para ver las carpetas)
  • iexplorer.exe -> Internet Explorer
  • firefox.exe -> Firefox (Abrir webs con: start firefox.exe www.jestudio.cl)
  • wmplayer.exe -> Reproductor de Musica Windows Media Player
  • winamap.exe -> Reproductor de Musica Winamp player.
  • mspaint.exe -> Paint
  • cmd.exe -> Shell de comandos
  • notepad.exe -> Bloc de notas
  • photoshop.exe -> Photoshop

Entre muchos otros, para saber como se “llama” un programa podemos ver en la pestaña procesos de el administrador de tareas mientras el programa este abierto(CTRL+ALT+SUPR, o CRTL+ALT+DEL).
Además muchas veces podemos simplemente adivinar su nombre.

Borrar de Agrandes Cantidades:

A mi me a pasado muchas veces que me han quedado carpetas infectadas de archivos inútiles y he comenzado a borrarlos uno por uno. Cuando iba en la mitad me aburrí y decidí ser eficiente, asi que se me ocurrió un código para borrar.

Los archivos que yo quería borrar tenían todos la misma desconocida extensión que ya no me acuerda como era, pero supongamos que era .sfk, ¿Como aniquilarlos todos sin mover un dedo?
Pues con esta función, podemos borrar todos los archivos que tengan cierta cosa en común, pero recuerden tener extremo cuidado pues pueden llegar a borrar algo no deseado.

FOR /R %%x in (*.sfk) DO (DEL "%%x")

Como vemos tiene el formato:

FOR /R %%Variable in (ElValorEnComun) DO (AccionAEjecutar)

Donde /R significa que no solo afectara a una carpeta si no que a todas las superiores.

Si agregáramos ese código en algún Batch, al correrlo comenzara a borrar todos los archivos con la extensión sfk que hayan en directorios superiores al suyo o en el mismo. (Directorios = Carpetas)

Claramente yo quise tener cuidado, y no borrar cosas indeseadas. Por lo que antes hice esto:

FOR /R %%x in (*.sfk) DO (echo "%%x")

Es lo mismo, solo que como acción en vez de borrar los listé. Una vez verificado que no había ningún archivo que me importara ejecute el otro.

Para el “valor en comun” hay varias maneras de darlo. Son de la siguiente manera.

  • común.mp3 -> Todos los archivos con ese nombre exacto.
  • común.* -> Todos los archivos con ese nombre, sin importar la extensión.
  • común* -> Todos los archivos que comiencen en común.
  • *común.mp3 -> Todos los archivos terminados en común.mp3.
  • *.mp3 -> Todo los archivos con la extensión mp3.
  • *común* -> Todos los archivos que contengan la palabra común.
  • * -> Todos los archivos, sin importar su nombre o extensión.

Por ejemplo si ejecuto:

FOR /R %%x in (*a*) DO (DEL "%%x")

Se borraran todos los archivos que tengan una a en su nombre o extensión.

FOR /R %%x in (*) DO (DEL "%%x")

Se borraran todos los archivos existentes.

Yo mi “programa” lo deje así:

@echo off
echo Se han encontrado los siguiente sfk:
FOR /R %%x in (*.sfk) DO (echo "%%x")
echo -----------------------------------------
echo Presione una tecla si desea eliminarlos
echo De lo contrario cierre la ventana.
pause>nul
echo Estas seguro?
pause>nul
echo Pues comencemos
pause>nul
FOR /R %%x in (*.sfk) DO (DEL "%%x")
echo LISTO
pause>nul
echo adiós
pause>nul
exit

Mover o Copiar de a grandes cantidades

Como se puede ver, en el punto anterior se borran muchos archivos en común con solo una linea de codigo. Pues para copiar y mover se hace casi lo mismo.

FOR /R %%x in (*) DO (MOVE "%%x" C:\DestinoDeLosArchivos\)

En la carpeta que lo ejecutemos moverá todos los archivos a “C:\DestinoDeLosArchivos\”

FOR /R %%x in (*.txt) DO (COPY "%%x" C:\DestinoDeLosArchivos\)

En la carpeta que lo ejecutemos moverá todos los archivos con extensión .txt a “C:DestinoDeLosArchivos”.

Crear una lista de reproducción.

Como fue visto en los tutoriales anteriores, podemos crear fácilmente archivos desde batch. Pero comúnmente solo se nos ocurriría escribir otro batch o un texto.
Bueno, me di cuenta que la forma de escribir de las listas de reproducción de Winamp son extremadamente simple. Simplemente los nombres de las canciones. (Solo sirve para winamp)

Por ejemplo, si quisiéramos crear un bat que al apretarlo crea una lista de reproducción con todos los archivos de música existentes en la carpeta haríamos lo siguiente.

@echo off
echo. > lista.m3u
FOR %%x in (*.mp3) DO (
echo %%~nx.mp3 >> lista.m3u
)
start lista.m3u winamp.exe
exit

Al ejecutarlo nos crearía un lista de reproducción de nuestra carpeta y comenzaría a reproducirla.
La lista quedaría creada, si es que quieres que la lista no quede en tu pc.
agrega estas lineas antes de exit:

pause
DEL lista.m3u

Basicamente lo que hago con este codigo es crear un archivo con extensión .m3u que dentro contiene los nombres de las canciones.
%%~nx significa que nos devolverá solo el nombre de el archivo sin la dirección.

Eso es básicamente todo lo que doy a conocer hoy.
Si alguien descubre la manera de hacer el creador de Lista de Reproducción pero que sirva incluso si es que se abre en un directorio raíz le pediría que me lo haga saber, pues no lo logré. (Solo funciona para una carpeta, no funciona como todos los otros batch que hice.)

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
Autor: JaLeRu

Post Relacionados:

51 Respuestas to “Programación en Batch 3º Parte.”

  1. KeNnY says:

    muchas gracias bro ;) :P

    te pasastes ;)

Deja un comentario


JaLeRu Blog vive gracias a WordPress
Entradas RSS y Comentarios RSS.