[Solucionado] [VBS] Duda sobre los argumentos

Iniciado por SuperDraco, 23 Enero 2011, 12:39 PM

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

SuperDraco

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!


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
No he vuelto, solo estoy de paso.

xassiz~

Doblándolas:
Código (vb) [Seleccionar]

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

SuperDraco

Cita de: pablomi en 23 Enero 2011, 13:17 PM
Doblándolas:
Código (vb) [Seleccionar]

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



me dice que no se encuentra el archivo %1  amigo :(  pero grax por la ayuda
No he vuelto, solo estoy de paso.

Novlucker

Me pregunto que intentas hacer, cambiar los atributos del propio vbs?

Lee aquí en la parte de "Atributos de archivos y carpetas"

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SuperDraco

#4
Cita de: Novlucker en 23 Enero 2011, 20:53 PM
Me pregunto que intentas hacer, cambiar los atributos del propio vbs?

Lee aquí 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:


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"
No he vuelto, solo estoy de paso.

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SuperDraco

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


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

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


:(
No he vuelto, solo estoy de paso.

Novlucker

A ver si se entiende :P

Código (vb) [Seleccionar]
Msgbox wscript.arguments.count
Msgbox wscript.arguments(0)


Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SuperDraco

#8
Cita de: Novlucker en 25 Enero 2011, 10:51 AM
A ver si se entiende :P

Código (vb) [Seleccionar]
Msgbox wscript.arguments.count
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

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 :( :(
No he vuelto, solo estoy de paso.

xassiz~

Vamos a ver, ¿sabes para que sirve %1? Parece que no :rolleyes: