Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: cixert en 12 Marzo 2010, 00:22 am



Título: abrir un JPG desde HTML con un programa
Publicado por: cixert en 12 Marzo 2010, 00:22 am
Hola estoy haciendo un cd interactivo en HTML y quiero abrir un jpg con un programa que viene dentro del cd (si no la foto se abre en el navegador)
Lo he intentado con BAT el problema es que hay que especificar la unidad del cd, si se ejecuta desde el navegador (no ocurre asi desde el directorio).
¿hay alguna manera de averiguar cual es la unidad de cd del usuario?
Por otro lado..¿es posible insertar comandos genericos como en html?
Por ejem:
../../
(lo digo para que siga funcionando si el cd se copia a un directorio del disco duro)
Muchas gracias por las respuestas.

@ \Program\Irfanvie\i_view32.exe \fotos\Estudios Acme - Alex.jpg

Este bat lo ejecuto desde el directorio y funciona.
Pero al ejecutarlo desde el navegador me toma por defecto la unidad c:\documents and settings en cmd.exe


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: cixert en 12 Marzo 2010, 18:06 pm
AUTORESPUESTA:

Le decimos en todas y en cada una de las unidades excepto A: que si existe una ruta o un archivo ejecute la accion y si no nada.


@echo off
if exist d:\zysd\ket2010.jpg (d:\Program\Irfanvie\i_view32.exe d:\fotos\Estudios Acme - Alex.jpg) else if exist e:\zysd\ket2010.jpg (e:\Program\Irfanvie\i_view32.exe e:\fotos\Estudios Acme - Alex.jpg)
if exist f:\zysd\ket2010.jpg (f:\Program\Irfanvie\i_view32.exe f:\fotos\Estudios Acme - Alex.jpg) else if exist g:\zysd\ket2010.jpg (g:\Program\Irfanvie\i_view32.exe g:\fotos\Estudios Acme - Alex.jpg)
if exist h:\zysd\ket2010.jpg (h:\Program\Irfanvie\i_view32.exe h:\fotos\Estudios Acme - Alex.jpg) else if exist i:\zysd\ket2010.jpg (i:\Program\Irfanvie\i_view32.exe i:\fotos\Estudios Acme - Alex.jpg)
if exist j:\zysd\ket2010.jpg (j:\Program\Irfanvie\i_view32.exe j:\fotos\Estudios Acme - Alex.jpg) else if exist k:\zysd\ket2010.jpg (k:\Program\Irfanvie\i_view32.exe k:\fotos\Estudios Acme - Alex.jpg)
if exist l:\zysd\ket2010.jpg (l:\Program\Irfanvie\i_view32.exe l:\fotos\Estudios Acme - Alex.jpg) else if exist m:\zysd\ket2010.jpg (m:\Program\Irfanvie\i_view32.exe m:\fotos\Estudios Acme - Alex.jpg)
if exist n:\zysd\ket2010.jpg (n:\Program\Irfanvie\i_view32.exe n:\fotos\Estudios Acme - Alex.jpg) else if exist o:\zysd\ket2010.jpg (o:\Program\Irfanvie\i_view32.exe o:\fotos\Estudios Acme - Alex.jpg)
if exist p:\zysd\ket2010.jpg (p:\Program\Irfanvie\i_view32.exe p:\fotos\Estudios Acme - Alex.jpg) else if exist q:\zysd\ket2010.jpg (q:\Program\Irfanvie\i_view32.exe q:\fotos\Estudios Acme - Alex.jpg)
if exist r:\zysd\ket2010.jpg (r:\Program\Irfanvie\i_view32.exe r:\fotos\Estudios Acme - Alex.jpg) else if exist s:\zysd\ket2010.jpg (s:\Program\Irfanvie\i_view32.exe s:\fotos\Estudios Acme - Alex.jpg)
if exist t:\zysd\ket2010.jpg (t:\Program\Irfanvie\i_view32.exe t:\fotos\Estudios Acme - Alex.jpg) else if exist u:\zysd\ket2010.jpg (u:\Program\Irfanvie\i_view32.exe u:\fotos\Estudios Acme - Alex.jpg)
if exist v:\zysd\ket2010.jpg (v:\Program\Irfanvie\i_view32.exe v:\fotos\Estudios Acme - Alex.jpg) else if exist w:\zysd\ket2010.jpg (w:\Program\Irfanvie\i_view32.exe w:\fotos\Estudios Acme - Alex.jpg)
if exist x:\zysd\ket2010.jpg (x:\Program\Irfanvie\i_view32.exe x:\fotos\Estudios Acme - Alex.jpg) else if exist y:\zysd\ket2010.jpg (y:\Program\Irfanvie\i_view32.exe y:\fotos\Estudios Acme - Alex.jpg)
if exist z:\zysd\ket2010.jpg (z:\Program\Irfanvie\i_view32.exe z:\fotos\Estudios Acme - Alex.jpg) else if exist b:\zysd\ket2010.jpg (b:\Program\Irfanvie\i_view32.exe b:\fotos\Estudios Acme - Alex.jpg)
if exist c:\zysd\ket2010.jpg (c:\Program\Irfanvie\i_view32.exe c:\fotos\Estudios Acme - Alex.jpg) else if exist ñ:\zysd\ket2010.jpg (ñ:\Program\Irfanvie\i_view32.exe ñ:\fotos\Estudios Acme - Alex.jpg)



es decir:

if exist d:\TAL PROGRAMA (d:\VISOR.exe FOTO.jpg) else if exist e:\TAL PROGRAMA (e:\VISOR.exe FOTO.jpg)

Traducido:

Si existe en D:\ un PROGRAMA que esta en nuestro CD ejecuta D:\VISOR.exe con FOTO.jpg sino si existe en E:\ un PROGRAMA que esta en nuestro CD ejecuta E:\VISOR.exe con FOTO.jpg

y asi sucesicamente hasta completar todas las letras de unidad.

Si a alguien si le ocurre la forma de abreviarlo que lo diga.


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: cixert en 12 Marzo 2010, 22:38 pm
¡Me encanta la participacion en este post! jejeje

En fin, se me ocurrieron varias maneras pero la mas abreviada esta:

@echo off
set letra=c (letra por la que quieres comenzar la busqueda)
:ruta
if exist %letra%:\RUTA\ARCHIVO.JPG (%letra%:\RUTA\PROGRAMA.EXE %letra%:\RUTA\ARCHIVO.JPG)
if exist %letra%:\RUTA\ARCHIVO.JPG exit
goto %letra%
:a
set letra=b
goto ruta
:b
set letra=c
goto ruta
:c
set letra=d
goto ruta
:d
set letra=e
goto ruta
:e
set letra=f
goto ruta
:f
set letra=g
goto ruta
:g
set letra=h
goto ruta
:h
set letra=i
goto ruta
:i
set letra=j
goto ruta
:j
set letra=k
goto ruta
:k
set letra=l
goto ruta
:l
set letra=m
goto ruta
:m
set letra=n
goto ruta
:n
set letra=o
goto ruta
:o
set letra=p
goto ruta
:p
set letra=q
goto ruta
:q
set letra=r
goto ruta
:r
set letra=s
goto ruta
:s
set letra=t
goto ruta
:t
set letra=u
goto ruta
:u
set letra=v
goto ruta
:v
set letra=w
goto ruta
:w
set letra=x
goto ruta
:x
set letra=y
goto ruta
:y
set letra=z
goto ruta
:z
echo Ruta no encontrada!

(donde sale un careto debe de poner dos puntos + letra o)


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: FranciskoAsdf en 14 Marzo 2010, 00:26 am
Podrías ahorrarte MUCHAS lineas de código utilizando un FOR:


Código
  1. For %%A in ( C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z: ) Do (
  2. If Exist %%A\zysd\ket2010.jpg (%%A\Program\Irfanvie\i_view32.exe %%A\fotos\Estudios Acme - Alex.jpg)
  3. )

Y así recorres TODAS las rutas posibles con solo un par de lineas ^^!

Obviamente no utilizaremos ni la unidad A: ni B: porque están reservadas por Windows para unidades de disquete, y si escribes donde no hay nada obtendrás error durante la ejecución del programa.-




Saludos :)!


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: cixert en 17 Marzo 2010, 01:19 am
Al fin una respuesta, muchas gracias


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: ---saster--- en 17 Marzo 2010, 16:01 pm
para saber las letras que estan disponible en el disco puedes usar el wmic o el vol

te dejo para que lo mires con el wmic ;D

Código:
for /f "tokens=* skip=1" %%^^ in ('wmic logicaldisk get caption') do (echo %%^^)

completamente de acuerdo con lo del for


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: LauBuru en 17 Marzo 2010, 23:53 pm
No seria mejor combinar wmic con vol para saber aparte de que unidades estan disponibles que unidades estan operativas

Código
  1. @echo off
  2. for /f "tokens=* skip=1" %%a in ('wmic logicaldisk get caption') do (call :uno %%a) &
  3.  
  4. :uno
  5. vol %1 | find "volumen" >nul: 2>&1 && echo Unidad %1 disponible y activa
  6. goto :eof
  7.  

jejejeje es por darle una vuelta mas a la cosa ^^


Título: Re: abrir un JPG desde HTML con un programa
Publicado por: ---saster--- en 18 Marzo 2010, 17:04 pm
si utilizas el vol puedes hacer un for con todas las letras e ir pasandoselas, no haría falta usar el wmic :¬¬

Código:
for %%a in (A,B,C,D,E) do (vol %%a | find "volumen" >nul && echo %%a)

saludos