Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: SuperDraco en 23 Enero 2011, 12:39 pm



Título: [Solucionado] [VBS] Duda sobre los argumentos
Publicado por: SuperDraco en 23 Enero 2011, 12:39 pm
holaaap, veran no se como entrecomillar este comando del cmd para que el vbs no me detecte las comillas del "%1" como fin de comando vbs :/

espero que alguien sepa como xDDD

saludos!


Código:
Set objshell = createobject("wscript.shell")
Set prueba = objshell.run("cmd /k attrib "%1" -h & pause")
WScript.Quit

si le kito las comillas, me dice el cmd que no encuentra el archivo %1, en cambio si lo ejecuto clicando con el boton derecho en cualkier archivo, asociado a un batch desde el regedit con ese comando, no me da error... pero es que no se si "%1" puede funcionar mediante un vbs la verdad... no se si capta el fichero del archivo para el comando cmd dentro del vbs...

espero haberme explicado bien xd


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: xassiz~ en 23 Enero 2011, 13:17 pm
Doblándolas:
Código
  1. Set objshell = createobject("wscript.shell")
  2. Set prueba = objshell.run("cmd /k attrib ""%1"" -h & pause")
  3. WScript.Quit
  4.  


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: SuperDraco en 23 Enero 2011, 13:18 pm
Doblándolas:
Código
  1. Set objshell = createobject("wscript.shell")
  2. Set prueba = objshell.run("cmd /k attrib ""%1"" -h & pause")
  3. WScript.Quit
  4.  


me dice que no se encuentra el archivo %1  amigo :(  pero grax por la ayuda


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: Novlucker en 23 Enero 2011, 20:53 pm
Me pregunto que intentas hacer, cambiar los atributos del propio vbs?

Lee aquí (http://foro.elhacker.net/scripting/tutorial_vbscript-t229032.0.html) en la parte de "Atributos de archivos y carpetas"

Saludos


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: SuperDraco en 24 Enero 2011, 02:44 am
Me pregunto que intentas hacer, cambiar los atributos del propio vbs?

Lee aquí (http://foro.elhacker.net/scripting/tutorial_vbscript-t229032.0.html) en la parte de "Atributos de archivos y carpetas"

Saludos

XDDDDD se q parece raro, pero lo q pasa es q puse una opcion en el menu del ratón para ocultar archivos (o mostrarlos) con un click derecho en el archivo deseado, me funciona muy bien porque la opcion se asocia a un .batch que resuelve el nombre entero "%1" como debe ser...

en un principio ahora keria correr el batch desde en vbs para ocultar la ventana q sale en CMD, aunq bueno, con tu ayuda casi que ya mejor lo hago todo en vbs xD parece más facil y me has dado lo q necesitaba con tu tutorial, gracias, pero no se como usar la variable %1 en VBs,ni siquiera se si es posible o solo funciona en CMD, me lo puedes decir? en tu tutorial solo he encontrado 3 variables de rutas q no me sirven, aparte de lo que he visto en tu tutorial, he probado cosas como getfilename getabsoluthepath, pero o no se hacerlo bien,o es que no me sirven no se xD... esto es lo ultimo que he intentado:


Código:
Set WShell = CreateObject("WScript.Shell")
Path = WShell.ExpandEnvironmentStrings("%1")
Set objfso = createobject("scripting.filesystemobject")
set archivo = objfso.getfile("path")
archivo.attributes = 34

espero ir por buen camino :/ xD alguna ayuda please???

EDITO: por si sirve de algo, el .vbs se abre desde el regedit con un "wscript.exe c:\ocultar.vbs"


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: Novlucker en 24 Enero 2011, 03:18 am
Busca sobre wscript.arguments :P

Saludos


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: SuperDraco en 24 Enero 2011, 04:51 am
por desgracia no se donde buscar sobre eso bien xD, en el foro no hay nada, he buscado por google y de la mayor parte no me entero, luego he echo un "wscript /?"en cmd y he visto que con la opcion //B se oculta y parece ser que usando "cscript" tambien y poniendo un "0" en el vbs tambien, q bien, asta 3 formas distintas... pero pa lo que yo necesito, ni una! xD sigo sin poder usar la maldita variable de la ruta %1, me mata!.

si en el script modifico ""%1"" por ""%1\"" así al menos ya me coge la ruta entera en la que estoy intentando cambiar la propiedad del archivo, supongo q ya es algo... pero necesito que me solucione el nombre tambien... si no pa que xD


Código:
No se encuentra la ruta de acceso: C:\Nueva carpeta\%1

Código:
Set objshell = createobject("wscript.shell")
cmd = "cmd /c attrib ""%1"" +h & pause"
return = objShell.Run(cmd,0,True)

:(


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: Novlucker en 25 Enero 2011, 10:51 am
A ver si se entiende :P

Código
  1. Msgbox wscript.arguments.count
  2. Msgbox wscript.arguments(0)

Saludos


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: SuperDraco en 25 Enero 2011, 13:40 pm
A ver si se entiende :P

Código
  1. Msgbox wscript.arguments.count
  2. Msgbox wscript.arguments(0)

Saludos

dios mio, cada vez me lo pones más dificil! xD si yo se q eres todo un experto del vbs... como te pasas :(

me e comido muxo el coco con los arguments esos y no llego a entender como hacerlo funcionar... aki sako a la luz una respuesta tuya a un post de otro usuario:

con wscript.arguments ¿que hace al poner wscript.arguments?
Se usa para el tema de los argumentos que se pasan al script, esos nombres, indices y extensión que le pasas para ejecutarlo, y cada argumento a su vez esta identificado por un índice, por eso 0, 1, 2, etc


entonces para lo que yo quiero, si lo e comprendido bien, serian 2 argumentos?  argumento 1=ruta de la carpeta, argumento 2 = nombre del archivo? y...argumento 3= extension del archivo? o eso no? dios, y de ser así, como coño lo pongo en funcionamiento todo eso xD arggg ni viendo un script tuyo donde aplicas argumentos me aclaro... siempre me dice que el subindice esta fuera dle intervalo........................................................................

no das clases particulares Nov?! :P anda que ya me keda pokitin ayudameeee xD ... ¿porfavor? :'S

Código:
set objfso = createobject("scripting.filesystemobject")
archivo = wscript.arguments(0)
Set objshell = createobject("wscript.shell")
archivo = "cmd /k attrib ""%1"" +h & pause"
wscript.quit
:(

VAMOS NADIE ME PUEDE AYUDAR A PASAR ESTE SIMPLE COMANDO CMD"cmd /k attrib "%1" +h & pause" A CÓDIGO VBS??? :(  leanme! xD :( :(


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: xassiz~ en 25 Enero 2011, 16:13 pm
Vamos a ver, ¿sabes para que sirve %1? Parece que no :rolleyes:


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: Novlucker en 25 Enero 2011, 16:21 pm
Si podría agregar eso pero no tiene gracia, te lo pongo desde el ms-dos para que lo entiendas mejor :xD
Código
  1. E:\vbs>echo wscript.echo wscript.arguments.count > Mensaje.vbs
  2. E:\vbs>echo wscript.echo wscript.arguments(0) >> Mensaje.vbs
  3. E:\vbs>type Mensaje.vbs
  4. wscript.echo wscript.arguments.count
  5. wscript.echo wscript.arguments(0)
  6.  
  7. E:\vbs>cscript/nologo Mensaje.vbs "Soy un argumento!"
  8. 1
  9. Soy un argumento!
  10.  
  11. E:\vbs>echo wscript.echo wscript.arguments(1) >> Mensaje.vbs
  12. E:\vbs>type Mensaje.vbs
  13. wscript.echo wscript.arguments.count
  14. wscript.echo wscript.arguments(0)
  15. wscript.echo wscript.arguments(1)
  16.  
  17. E:\vbs>cscript/nologo Mensaje.vbs "Soy el primer argumento" "y yo el segundo"
  18. 2
  19. Soy el primer argumento
  20. y yo el segundo
  21.  
  22. E:\vbs>
Lo que intentaba decirte con esto era que directamente hicieras todo con vbs :P
El code que has dejado en tus primeros mensajes solo necesita ligeros arreglos

Saludos


Título: Re: [VBS] Tengo una duda MUY básica sobre las comillas :/
Publicado por: SuperDraco en 1 Abril 2011, 05:22 am
Antes no entendia lo que era un argumento, ahora que ya lo entiendo no se aplicarlos en vbs  :xD

A ver si ya puedo resolver este problema de una vez, tengo mi script así:

Código
  1. Set objshell = createobject("wscript.shell")
  2. wscript.arguments.count
  3. wscript.arguments(0)
  4. wscript.arguments(1)
  5. Set prueba = objshell.run("cmd /k (1) -h & pause")
  6. WScript.Quit


("cmd /k (1) -h & pause")

 El (1) ha sido mi intento para aplicar elargumento 1, pero no se hacerlo...


A lo que me refiero es que para indicar un argumento en batch basta con poner en el script  %1 asi llamas al argumento 1, pero en VBS como se hace eso?


Título: Re: [VBS] Duda sobre los argumentos
Publicado por: SuperDraco en 1 Abril 2011, 05:38 am
con este script por fin me oculta los archivos, pero está mal, porque me oculta toda la carpeta si abro el vbs, debería ocultarme solo ese archivo, el vbs...


Código:
Set objshell = createobject("wscript.shell")
wscript.arguments.count
Set objArgs = WScript.Arguments
for each file in objArgs
objshell.run("cmd /k attrib +h & pause")
next
WScript.Quit

Osea, ese script lo guardo en "c:\1.vbs"
pero al abrir el archivo, todos los archivos de C:\ se ocultan...


Título: Re: [VBS] Duda sobre los argumentos
Publicado por: Novlucker en 1 Abril 2011, 13:15 pm
Quería que aprendieses algo, pero como no hay remedio :-\
Código
  1. Set objfso = Createobject("scripting.filesystemobject")
  2. Set oFile = objfso.getfile(wscript.arguments(0))
  3. oFile.attributes = 2

Saludos


Título: Re: [VBS] Duda sobre los argumentos
Publicado por: SuperDraco en 2 Abril 2011, 04:50 am
Quería que aprendieses algo, pero como no hay remedio :-\
Código
  1. Set objfso = Createobject("scripting.filesystemobject")
  2. Set oFile = objfso.getfile(wscript.arguments(0))
  3. oFile.attributes = 2

Saludos

Aprendo más fijandome en tus scripts que intentando chorradas por mi mismo xDD
Eso si, muy poco a poco  :P

Funciona perfecto! y encima sin llamar a la consola (Lo del ofile.attributes lo conocia pero no sabía aplicarlo tampoco...), me gusta me gusta, que haría yo sin ti jajaja

gracias nov


EDITO: iba a preguntarte otra cosa pero ya lo he encontrado :)

para las carpetas es:
Código:
Set oFile = objfso.getfolder(wscript.arguments(0))