Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Eleкtro en 12 Febrero 2012, 19:43 pm



Título: (Solucionado) [VBS] Ruta con paréntesis
Publicado por: Eleкtro en 12 Febrero 2012, 19:43 pm
El script que estoy probando es simple, Lo he probado muchas otras veces y funciona, Pero esta vez la ruta que pongo me da problemas... Estoy seguro que es por los paréntesis.

¿Alguien me dice la forma correcta para escribir esta ruta?:

Código
  1. set objshell = createobject("wscript.shell")
  2. objshell.run "C:\Program Files (x86)\Hot Corners\RUN.bat"

Gracias


Título: Re: [VBS] Ruta con paréntesis
Publicado por: HdM en 12 Febrero 2012, 23:43 pm
Buenas.

Ya sé que la solución que te propongo no es lo que buscas, pero bueno, momentáneamente, para hacer funcionar el script, te puede valer:

Igual en tu caso, según tu arbol de directorios, no es un 2, es un 3.

Código
  1.            objshell.run "C:\Progra~2\Hot Corners\RUN.bat"
  2.  

Saludos.


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Eleкtro en 13 Febrero 2012, 04:09 am
Gracias por tu respuesta, la verdad no se me habia ocurrido

Pero tengo desactivado los nombres cortos en mi sistema, y sería un inconveniente rehabilitarlos y mantener activada esa característica de windows solamente por un problema con un caracter de ese vbs :(

Sigo esperando alguna otra solución

Saludos!


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Leminy en 13 Febrero 2012, 07:20 am
Puedes Intentar "Tomando El Folder" Primero Y Convertirlo A Su "Nombre Corto" En Otra Variable, Esto Seria:

Código:
Set fso = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("WScript.Shell")
Set TuPath = fso.GetFolder("C:\Program Files (x86)\Hot Corners")
SPTuFolder = TuPath.ShortPath
shell.run SPTuFolder & Chr(92) & "RUN.bat"

Cualquier Problema Con El "Code" Comenta.


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Eleкtro en 13 Febrero 2012, 19:54 pm
Puedes Intentar "Tomando El Folder" Primero Y Convertirlo A Su "Nombre Corto" En Otra Variable, Esto Seria:
Cualquier Problema Con El "Code" Comenta.

Joder, esto es increible, támpoco me funciona!!

Sigo tus pasos:

Código
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set shell = CreateObject("WScript.Shell")
  3. Set TuPath = fso.GetFolder("C:\Program Files (x86)\Hot Corners")
  4. SPTuFolder = TuPath.ShortPath
  5. msgbox SPTuFolder & Chr(92) & "RUN.bat"
  6. shell.run SPTuFolder & Chr(92) & "RUN.bat"

Y a pesar de que en el msgbox sale bien la ruta, no me encuentra la ruta para ejecutar el bat     :-(
(http://img12.imageshack.us/img12/6416/prtscrcapturee.jpg)


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Eleкtro en 13 Febrero 2012, 20:06 pm
También he intentado setear la variable así, Pero no funciona!

Código
  1. Set wshShell = CreateObject( "WScript.Shell" )
  2. msgbox wshShell.ExpandEnvironmentStrings( "%PROGRAMFILES(X86)%" ) & Chr(92) & "Hot Corners" & Chr(92) & "RUN.bat"
  3. wshShell.run wshShell.ExpandEnvironmentStrings( "%PROGRAMFILES(X86)%" ) & Chr(92) & "Hot Corners" & Chr(92) & "RUN.bat"

Me dice que el sistema no puede encontrar el archivo...

Aunque, El msgbox se muestra correctamente...

Me pone de los nervios...


EDITO:

Claro!!! ya se porque es!!!

Creo que debo entrecomillar la ruta al contener espacios

Pero no se hacerlo, me da error

¿Como puedo añadirle comilla doble al principio y al final de esta ruta?:

Código
  1. wshShell.run wshShell.ExpandEnvironmentStrings( "%PROGRAMFILES(X86)%" ) & Chr(92) & "Hot Corners" & Chr(92) & "RUN.bat"


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Eleкtro en 13 Febrero 2012, 20:26 pm
Bien, lo conseguí, Era tán fácil como entrecomillar la maldita ruta

No se como no habia caido en eso xDDDDDDDDD


Muchas gracias por la ayuda!



Código
  1. Set wshShell = CreateObject( "WScript.Shell" )
  2. wshShell.run """" & "C:\Program files (x86)\Hot Corners\Run.bat" & """"


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Leminy en 14 Febrero 2012, 06:04 am
Joder, esto es increible, támpoco me funciona!!

Sigo tus pasos:

Código
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set shell = CreateObject("WScript.Shell")
  3. Set TuPath = fso.GetFolder("C:\Program Files (x86)\Hot Corners")
  4. SPTuFolder = TuPath.ShortPath
  5. msgbox SPTuFolder & Chr(92) & "RUN.bat"
  6. shell.run SPTuFolder & Chr(92) & "RUN.bat"

Y a pesar de que en el msgbox sale bien la ruta, no me encuentra la ruta para ejecutar el bat     :-(
(http://img12.imageshack.us/img12/6416/prtscrcapturee.jpg)

--- EDITO ---

Mi Code No Sirve Por Lo Mismo De La Desactivación De Nombres Cortos... Por Cierto, ¿"Por Que Los Has Desactivado"?   :huh: :huh: :huh:


Título: Re: [VBS] Ruta con paréntesis
Publicado por: Eleкtro en 14 Febrero 2012, 06:58 am
Por Cierto, ¿"Por Que Los Has Desactivado"?

No me gusta tener cosas habilitadas que nunca uso, ni necesito xD

Seguro que por muy poco que séa, Tenerlo desactivado mejora el rendimiento del PC (Aunque séa un 0,001%)

saludos!