Script para ejecutar google chrome...

Iniciado por gandalf2706, 21 Marzo 2012, 16:44 PM

0 Miembros y 3 Visitantes están viendo este tema.

gandalf2706

Buenos dias!... la verdad que mi fuerte no son los scripts... pero en este caso necesito hacer un script, ya sea en vb, o en lo que sea para que abra Google Chrome con una propiedad...
La finalidad es la siguiente, necesito que corra Google Chrome con una propiedad para activar WebGL, por lo tanto manualmente se puede hacer si se ejecuta lo siguiente: "C:\Documents and Settings\User\Configuración local\Datos de programa\Google\Chrome\Application\chrome.exe" --ignore-gpu-blacklist

pero, lo quiero hacer generico, por lo tanto va a cambiar la ruta en cada computadora... entonces, queria saber cuales eran las sugerencias... estuve buscando y encontre un codigo que lee los  accesos directos del escritorio en VB y hacia lo siguiente:
set objshell = createobject("wscript.shell")
set objlink = objshell.createshortcut(wscript.arguments(0))
set objfso = createobject("scripting.filesystemobject")
if objfso.fileexists(objlink.targetpath) then
wscript.quit(0)
else
wscript.quit(1)
end if

pero no es realmente lo que necesito...
por lo tanto, la idea seria si se puede buscar la ruta del ejecutable de google chrome, y lanzarla con ese parametro.

Desde ya muchas gracias!!!!

-- KiLiaN --

#1
A ver si te sirve esto:
Código (DOS) [Seleccionar]
@echo off
cls
pushd %LOCALAPPDATA%

Set /p ruta=Escribe la ruta al ejecutable:
if "%ruta%"=="" goto :generales
echo "%ruta%"
pause

FOR /D %%i in (*) do (if "%%i"=="Google" (%ruta%\chrome.exe --ignore-gpu-blacklist ) else

(echo "No se ha encontrado la carpeta de google"))
goto:eof

:generales
Pushd %SYSTEMDRIVE%
FOR /D %%i in (*) do (if "%%i"=="Google" ("%LOCALAPPDATA%\Google\Chrome\Application

\chrome.exe" --ignore-gpu-blacklist))
For /D /R %%i in (*) do (if "%%i"=="Google" ("%%~pi\chrome.exe" --ignore-gpu-blacklist) else

(echo "Seguro que tienes instalado Chrome?"))
popd

:eof
Exit


La ruta puedes dejarla en blanco y comenzara a buscar a partir de C:/ (en mi caso porque es donde tengo instalado widnows) en todas las subcarpetas hasta que encuentra la que se llama Google (predeterminado cuando se instala chrome). He puesto %LOCALAPPDATA% porque es donde yo lo tengo instalado xD espera que se pronuncie Elektro H@cker que entiende mas que yo ;)
Entren al chat de elhacker.net
    
   

@kln13

Eleкtro

#2
Mi compañero -- KiLiaN -- ya te ha proporcionado un code pero igualmente te hago este otro.

Salu2


Código (dos) [Seleccionar]
@Echo OFF

Rem Comprueba la versión de Windows para usar debidamente el comando START
wmic os get name /format:list | find /i "windows 7" >NUL
If errorlevel 0 (Set Win7=SI)

Echo: Buscando Google Chrome...

Rem Primero busca en las carpetas corrientes de los programas instalados.
For /F "Tokens=*" %%# in ('Dir /B /S "%Programfiles%\Chrome.exe" 2^>nul') Do (Call :Start "%%#")
For /F "Tokens=*" %%# in ('Dir /B /S "%Programfiles(x86)%\Chrome.exe" 2^>nul') Do (Call :Start "%%#")

Rem Busca en todas las unidades.
For /F "Tokens=2 delims==:" %%# in ('wmic logicaldisk get caption /format:list') Do (
For /F "Tokens=*" %%$ in ('Dir /B /S "%%#:\Chrome.exe" 2^>nul') Do (Call :Start "%%$"))
Goto :Error

:Start
If defined Win7 (Start /B %~d1"%~pnx1" --ignore-gpu-blacklist) ELSE (Start /B "%~1" --ignore-gpu-blacklist)
Exit

:Error
Rem Si no lo encuentra...
Echo: No se ha encontrado el executable "Chrome.exe" | MORE
Pause
Exit /B 1








-- KiLiaN --

Entren al chat de elhacker.net
    
   

@kln13

gandalf2706

Muchas gracias chicos!!!!!!!!!!!!! La verdad que excelente trabajo... me sirvio el segundo ya que la idea es que haga todo automatico.
Como una observacion pero no importante es que no funciona en Windows 7, ya que en mi PC tengo esta version y luego de un rato que muestra "Buscando Google Chrome" se cierra la ventana de DOS pero no abre nada, de todas maneras esto se va a ejecutar en maquinas que tienen XP solamente, por lo tanto me viene perfecto(lo he probado solo en una maquina que tiene XP, pero tratare de probarlo en otras para evitar conflictos... :)....)

Necesito una cosa mas, y es poder matar el proceso de google chrome antes de que se ejecute esto, para que se abra una nueva pestaña con esta propiedad... con eso terminariamos este codigo...

Desde ya muchas gracias!!!!!!!!!! Sobre todo por su velocidad en la respuesta... :)

-- KiLiaN --

Añade al del scritp:

Código (dos) [Seleccionar]
Taskkill /F /IM Chrome.exe 2>Nul

Esto cerrar Chrome si se esta ejecutando
Entren al chat de elhacker.net
    
   

@kln13

Eleкtro

Cita de: gandalf2706 en 22 Marzo 2012, 14:20 PM
una observacion pero no importante es que no funciona en Windows 7
se cierra la ventana de DOS pero no abre nada

gandalf2706, Quiero puntualizar una cosa, Hice el code desde Windows7 y solo lo he probado en Windows7, Lo probé con el .exe de firefox y chrome, Funcionó :/

Pero como no tienes necesidad de usarlo en Win7 no buscaré el problema xD

Salu2








gandalf2706

#7
jajaja... definitivamente... muchas gracias igual... ahora, continuo con este tema...
Y quiero tambien responder lo que puntualizaste en el otro tema de Firefox... yo he estudiado muy poco de bash, y quizas tenga que interiorizarme un poco mas con este lenguaje, ya que actulamente programo en php/mysql/js.... pero agradeszco inmensamente la ayuda que me han proporcionado.
de acuerdo al codigo que tenemos actualmente, quiero agregarle la ultima opcion, y es con esta informacion crear un acceso directo que se pueda ubicar en el escritorio y colocar en destino esta cadena que obtuvimos con el script.
Por lo tanto averigue que para crear un acceso directo se utiliza el comando: ln -s "ruta", pero no logro identificar es si la ruta de google chrome se almaceno en alguna variable para poder crear este acceso directo.
Para poder hacer:  ln -fs "$ruta"

Espero se entienda lo que necesito, el script hasta el momento va a permitir que cada vez que se ingrese a determinada pagina va a reiniciar google chrome con esta propiedad, pero no de forma permanente, por lo tanto si creamos un acceso directo con esta propiedad seria necesario que se ejecute una sola vez este script...ya que se creara el acceso directo que ejecutara google chrome siempre con esa propiedad

Elekto H@acker, te agradezco todas las asistencias que tuviste en mis temas, y seguire investigando sobre este tema.... pero si me pueden ayudar se los agradeceré totalmtente.

Muchas gracias!

Eleкtro

Cita de: gandalf2706 en 22 Marzo 2012, 16:41 PM
yo he estudiado muy poco de bash, y quizas tenga que interiorizarme un poco mas con este lenguaje,

averigue que para crear un acceso directo se utiliza el comando: ln -s "ruta"

Ahora me he perdidoo, ¿Pero el script es para usarlo bajo windows XP, no?

Windows > Batch
Linux       > Bash


No es lo mismo :P

- En mi code, La variable donde se guarda la ruta completa de Chrome es: %%#
  (Pero en el tercer FOR es %%$)
 Opcionalmente puedes añadir este comando DENTRO del bucle para no despistarte
 Set "Ruta=%%#"

- En batch no se puede crear un acceso directo sin la ayuda de un comando externo, Como por ejemplo estos:

http://ss64.com/nt/shortcut.html
http://www.xxcopy.com/xxcopy38.htm

- Otra opción es usar VBScript como comentabas en un principio, de esta manera:

Código (vb) [Seleccionar]
Set Shell = CreateObject("WScript.Shell")
DesktopPath = Shell.SpecialFolders("Desktop")
Set link = Shell.CreateShortcut(DesktopPath & "\test.lnk")
link.Description = "test"
link.IconLocation = "RUTA DEL ICONO"
link.TargetPath = "RUTA DEL CHROME\Chrome.exe"
link.WorkingDirectory = "RUTA DEL CHROME"
link.Save



Tu elijes, Comando externo o VBS.

Para usar el VBS deberias llamarlo desde la consola con un argumento, ejemplo:
Código (dos) [Seleccionar]
Wscript.exe SCRIPT.VBS "%%#"

Y entonces además tendrías que modificar el VBS para que tome el argumento como "TargetPath" y "WorkingDirectory " (Es fácil, Tienes un tutorial de NovLucker con chincheta sobre VBS en este subforo)

Salu2








gandalf2706

Muchas gracias por la respuesta EleKtro H@cker...
Antes que nada, si se ejecutaria en XP, por lo tanto es batch.... :S
Por otro lado te comento la situacion para que me orientes un poco acerca de cual seria la solucion ideal...
Tengo una pagina que necesita la libreria WebGL habilitada, pero Windows XP por defecto la trae deshabilitada, por lo tanto necesito que cuando ingresa un usuario con Windows XP, la pagina detectará que tiene este sistema operativo y le solicitará descargar este script para solucionar el inconveniente....
El problema es que la web será utilizada por chicos, por eso quiero que la solución no necesite la cooperación del usuario, mas allá de descargar y ejecutar el script.
Y además quiero que no sea necesario que se ejecute cada vez que se ingresa a la página, sino que se ejecute la primera vez, y a partir de ahi cada vez que se inicie esto esté habilitado...
Luego de todo este preambulo vuelvo a la parte del codigo... estuve viendo los links que me pasaste....
Lo que no entiendo es si este comando externo significa que el usuario va a tener que ejecutar algo manualmente, o simplemente que el codigo que tengo que agregar al script no es originalmente de batch... disculpas sobre mi ignorancia...
Con respecto a vbs lo que no me convence es
CitarPara usar el VBS deberias llamarlo desde la consola con un argumento, ejemplo:

Código
Wscript.exe SCRIPT.VBS "%%#"
De todas maneras quizas yo entendi mal las dos propuestas que me estas dando....
Por lo tanto necesitaria que me tires ideas con respecto a lo que necesito hacer... si es imposible hacer esto con un script, quizas se podría buscar el acceso directo y agregarle esta propiedad para que cada vez que se ejecute este acceso directo acceda con la opcion habilitada.
Como máximo podría solicitarle al usuario que cree un acceso directo en el escritorio si es que no lo tiene actualmente, y a apartir de ahi modificar el "Destino" del mismo .

Te agradezco mucho EleKtro H@cker la mano que me estas dando con este tema.

Un saludo!