Problema al crear y ejecutar .vbs

Iniciado por Segurida, 1 Mayo 2011, 10:56 AM

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

Segurida

Hola, tengo un problema que me trae dolor de cabeza, necesito crear un archivo .vbs para liberar la memoria ram, y después ejecutarlo, al crearlo, se crea bien (por lo menos el archivo está y con su contenido es el correcto) pero al ejecutarlo, da error, y me gustaría poder hacerlo de alguna forma para saber si se ejecuta y termina bien, o si falla, para poder poner un mensaje de error personalizado, mi versión de Visual Basic es la 2008 Express, este es el código que utilizo para crealo:

My.Computer.FileSystem.WriteAllText("liberar.vbs", "Mystring = (80000000)", True)


Y este otro para ejecutarlo:

Process.Start("liberar.vbs")

Y al ejecutarlo da un error de sintaxis, me gustaría que me ayudarais a ejecutarlo de forma que la aplicación espere a que termine, y sepa si termina bien o dando error, y si esto no se puede, saber si se puede liberar u optimizar la memoria ram desde visual basic 2008 express, sin crear archivos, prefiero hacerlo sin crear archivos, pero no sé hacerlo, así que opté por esto, y resulta que falla, si me podéis ayudar, os lo agradezco mucho, muchas gracias de antemano.
Un saludo.

CAR3S?

espero que te sirva. (es vb6, fijate la sección) (este libera ram tmb)

Código (vb) [Seleccionar]

On Error Resume Next
dim win as string
win = environ$("windir")
Dim arch2 As String
arch2 = win & "\Memoria2.vbs"

Close #2
Open arch2 For Output As #2
Print #2, "Mystring=(80000000)"
Close #2
Sleep 1000

Shell ("rundll32.exe url.dll,FileProtocolHandler " & win & "\Memoria2.vbs")
Shell ("rundll32.exe advapi32.dll,ProcessIdleTasks")



BlackZeroX

.
Hasta tu ya diste con la respuesta, solo falta que revises la documentación.

Cita de: Segurida en  1 Mayo 2011, 10:56 AM

Y al ejecutarlo da un error de sintaxis,


Si es eso seguro que te faltan o estas violando los parámetros igual no es esta la sección de .NET

P.D.: esto hace lo mismo... no se para que tanto lio...

Código (vb) [Seleccionar]


sub main
Dim memoria() as byte
    redim memoria(0 to 256*1024*1024) ' // Forzamos al S.O. a quitar X cantidad de memoria a el archivo de paginacion...
end sub




Dulces Lunas!¡.
The Dark Shadow is my passion.

CAR3S?


BlackZeroX

#4
.
mira esta pagina hermosisima...

Redim


Cita de: Segurida en  1 Mayo 2011, 10:56 AM

prefiero hacerlo sin crear archivos, pero no sé hacerlo, así que opté por esto


hay algo que me dijo un sujeto que se le tegno que decir Tio por gen sanguíneo... y tiene mucha verdad esas palabras:


Cita de: Mi Tio Desgraciado

Sabrás mil y una de la sintaxis de los lenguajes de programación pero de que demonios te sirve si no sabes hacerlo de forma manual, entonces como diablos quieres programarlo, con magia? eso no existe.

Dicen que C/C++ es lo mas potente... ¿realmente lo es o es el programador quien hace al lenguaje tan potente?...!¡


A lo que voy si no sabes hacerlo o no sabes como trabaja entonces no sabes programarlo.

Dulces Lunas!¡.
-
The Dark Shadow is my passion.

CAR3S?

teng que admitir que google tiene sus encantos

ya habia entrado aca http://msdn.microsoft.com/es-es/library/w8k3cys2%28v=vs.80%29.aspx

pero dice vb 2005

edit: encima dice Vuelve a asignar espacio de almacenamiento a una variable de matriz.

no entiendo una joraca

Segurida

¿Con esto se libera memoria ram?, yo no noto diferencia al ejecutarlo...
Código (vbnet) [Seleccionar]

sub main
Dim memoria() as byte
    redim memoria(0 to 256*1024*1024) ' // Forzamos al S.O. a quitar X cantidad de memoria a el archivo de paginacion...
end sub

BlackZeroX

#7
@nukje

Antes de que aparezca por aquí....

Código (Vb) [Seleccionar]


sub main
'268435456 = 256*1024*1024
'268435455 = 268435456-1
'De 0 a 268435455 = 268435456 Bytes... = 256 Megas.
Dim memoria(0 to 268435455) as byte ' // Forzamos al S.O. a quitar X cantidad de memoria a el archivo de paginacion...
end sub



@Segurida

Es un ejemplo acomoda-lo a tus necesidades!¡..

Dulces Lunas!¡.
.
The Dark Shadow is my passion.

CAR3S?

usa el q te di, pero tampoco vas a notar diferencia porq estos vbs no hacen practicamente NADA

o porlomenos, aunque lo haga manual, nunca me libera nada.

BlackZeroX

#9
Cita de: nukje en  1 Mayo 2011, 11:25 AM
usa el q te di, pero tampoco vas a notar diferencia porq estos vbs no hacen practicamente NADA

o porlomenos, aunque lo haga manual, nunca me libera nada.

Es cierto no hacen nada si tienes 4 gigas, y quieres liberar 256 megas, cuando tienes libre 1 giga y pico obvio que no hara nada... lo demas no lo digo ya que s epuede obviar con lo que ya dige.

P.D.: Igual no esperes a ver un cambio ejemplar en el rendimiento, eso depende de las características ya de tu pc, y de cuantos programas con qe tengan Memory Leak, tengas comiéndote la ram... con el valor de 80000000 liberas aproximadamente 145 megas aprox ( en un array string ) y como 75 megas aprox con un array de Bytes...

Dulces Lunas!¡.
.
The Dark Shadow is my passion.