miércoles, 7 de diciembre de 2011

Batch avanzado

Bien, en el tema de Programación Batch 3 Avanzada les había escrito en la parte inferior que les hiba a traer un tuto de cómo robar las fotos de los pendrives, de tarjetas SD o de cualquier otro dispositivo que tenga fotos.

Para ello, hay que saber las extenciones de las fotos, en este caso solo lo haremos con ".jpg" y ".png".

Hay varias formas de hacerlo, pero solo usaremos dos, "simple y avanzada"

Empezemos:

-------------------------------------------------------------------------------------------------
Simple:
-----------
@echo off
echo.
rem Ejemplos de drive name: (K: , I: , etc...)
rem Cuando vayas a escribir la letra, escríbela sin los dos puntos (:).
echo Drive name:
set /p device=
md "%userprofile%\Pictures\%device%-pics"
xcopy /s /q /y "%device%:\*.jpg" "%userprofile%\Pictures\%device%-pics" > "%userprofile%\Pictures\%device%-pics\info.txt"
echo The "jpg" pics of %device%: is sucessfully copied. > "%userprofile%\Pictures\%device%-pics\Complete_jpg"
cls

xcopy /s /q /y "%device%:\*.png" "%userprofile%\Pictures\%device%-pics" > "%userprofile%\Pictures\%device%-pics\info2.txt"
echo The "png" pics of %device%: is sucessfully copied. > "%userprofile%\Pictures\%device%-pics\Complete_png"
cls
exit
-------------------------------------------------------------------------------------------------------

Como ven, esta es la forma simple, y ¿porque le llamo forma simple con tantos códigos? Porque al ser simple tienes que interactuar en el. Al principio o mejor dicho, cuando lo corres, tienes que primeramente escribir el nombre del dispositivo (K: , I: , etc...) y al interactuar con éste ya se convierte en simple.

Ahora veamos la forma avanzada. Avanzada porque prácticamente no tendrías que interactuar en el.

Empezemos:

------------------------------------------------------------------------------------------------------
Avanzada:
--------------
Rem No tienes que escribir el nombre del dispositivo porque éste lo escribe solo.

for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,X,Y,Z) do (if exist %%i: set dv=%%i)
md "%userprofile%\Pictures\%dv%-pics"
xcopy /s /q /y "%dv%:\*.jpg" "%userprofile\desktop\%%dv%%-pics" > "%userprofile%\Pictures\%dv%-pics\info.txt"
echo The "jpg" pics of %dv%: is sucessfully copied. > "%userprofile%\Pictures\%dv%-pics\Complete_jpg"
cls
xcopy /s /q /y "%dv%:\*.png" "%userprofile\desktop\%%dv%%-pics" > "%userprofile%\Pictures\%dv%-pics\info.txt"
echo The "png" pics of %dv%: is sucessfully copied. > "%userprofile%\Pictures\%dv%-pics\Complete_png"
cls
exit
---------------------------------------------------------------------------------------------------

Como vemos, es casi la misma cantidad en códigos.

Los dos tienen sus pro y sus contras... Lo bueno del método simple es que al escribir la letra te vas a la segura, pero lo malo es que en lo que escribes la persona podría darse cuenta a menos que digas que es otra cosa aunque es menos la probabilidad que sepan lo que es.

Lo bueno del método avanzado es que no tienes que interactuar en el porque lo hace todo automático. Lo malo es que en algún momento podría dar error o leer un dispositivo inactivo que traen las PC's como uno activo.

En mi caso, yo probé los 2 y funcionaron de maravilla, si no funcionan podrían hacerles los cambios necesarios. De no conocer mucho de esto, envíen un email con el problema que les da y trataré de ayudarlos.




No hay comentarios:

Publicar un comentario