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
Doblándolas:
Set objshell = createobject("wscript.shell")
Set prueba = objshell.run("cmd /k attrib ""%1"" -h & pause")
WScript.Quit
Cita de: pablomi en 23 Enero 2011, 13:17 PM
Doblándolas:
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
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
Cita de: 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
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"
Busca sobre wscript.arguments :P
Saludos
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)
:(
A ver si se entiende :P
Msgbox wscript.arguments.count
Msgbox wscript.arguments(0)
Saludos
Cita de: Novlucker en 25 Enero 2011, 10:51 AM
A ver si se entiende :P
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, etcentonces 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 :( :(
Vamos a ver, ¿sabes para que sirve %1? Parece que no :rolleyes:
Si podría agregar eso pero no tiene gracia, te lo pongo desde el ms-dos para que lo entiendas mejor :xD
E:\vbs>echo wscript.echo wscript.arguments.count > Mensaje.vbs
E:\vbs>echo wscript.echo wscript.arguments(0) >> Mensaje.vbs
E:\vbs>type Mensaje.vbs
wscript.echo wscript.arguments.count
wscript.echo wscript.arguments(0)
E:\vbs>cscript/nologo Mensaje.vbs "Soy un argumento!"
1
Soy un argumento!
E:\vbs>echo wscript.echo wscript.arguments(1) >> Mensaje.vbs
E:\vbs>type Mensaje.vbs
wscript.echo wscript.arguments.count
wscript.echo wscript.arguments(0)
wscript.echo wscript.arguments(1)
E:\vbs>cscript/nologo Mensaje.vbs "Soy el primer argumento" "y yo el segundo"
2
Soy el primer argumento
y yo el segundo
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
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í:
Set objshell = createobject("wscript.shell")
wscript.arguments.count
wscript.arguments(0)
wscript.arguments(1)
Set prueba = objshell.run("cmd /k (1) -h & pause")
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?
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...
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...
Quería que aprendieses algo, pero como no hay remedio :-\
Set objfso = Createobject("scripting.filesystemobject")
Set oFile = objfso.getfile(wscript.arguments(0))
oFile.attributes = 2
Saludos
Cita de: Novlucker en 1 Abril 2011, 13:15 PM
Quería que aprendieses algo, pero como no hay remedio :-\
Set objfso = Createobject("scripting.filesystemobject")
Set oFile = objfso.getfile(wscript.arguments(0))
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:
Set oFile = objfso.getfolder(wscript.arguments(0))