Crea un archivo vbs con un script por lotes.

Resuelto
TheGBB Mensajes publicados 12 Estado Miembro -  
 Usuario anónimo -

Hola,

estoy buscando crear un script rcs.vbs con este script por lotes:

 @echo off cls (Dim Shell, DesktopPath, INK Set Shell = CreateObject("WScript.Shell") DesktopPath = Shell.SpecialFolders("Desktop") Set Ink = Shell.CreateShortcut(DesktopPath & "\Vlc.LNK") Ink.TargetPath = "C:\Program Files\VideoLAN\VLC\vlc.exe" Ink.Save)>>rcs.vbs 

y me encuentro con un script "rcs.vbs" completamente vacío que no hace nada.

Creo que es probablemente el script vbs escrito el que detiene el comando por lotes en curso.

mientras que quiero un script "rcs.vbs" que contenga este código:

 Dim Shell, DesktopPath, INK Set Shell = CreateObject("WScript.Shell") DesktopPath = Shell.SpecialFolders("Desktop") Set Ink = Shell.CreateShortcut(DesktopPath & "\Vlc.LNK") Ink.TargetPath = "C:\Program Files\VideoLAN\VLC\vlc.exe" Ink.Save

3 respuestas

barnabe0057 Mensajes publicados 14329 Fecha de registro   Estado Colaborador Última intervención   4 930
 

Hola,

Para enviar estas líneas en el archivo, hay que añadir ECHO delante de cada comando VBS:

 @echo off cls (echo Dim Shell, DesktopPath, INK echo Set Shell = CreateObject("WScript.Shell") echo DesktopPath = Shell.SpecialFolders("Desktop") echo Set Ink = Shell.CreateShortcut(DesktopPath & "\Vlc.LNK") echo Ink.TargetPath = "C:\Program Files\VideoLAN\VLC\vlc.exe" echo Ink.Save)>rcs.vbs

-

Si el objetivo es crear un acceso directo en el escritorio, entonces es más simple hacerlo directamente en batch:

 mklink "%USERPROFILE%\Desktop\Vlc.lnk" "C:\Program Files\VideoLAN\VLC\vlc.exe"


1
TheGBB Mensajes publicados 12 Estado Miembro
 

mil gracias, funciona muy bien

0
brucine Mensajes publicados 24712 Fecha de registro   Estado Miembro Última intervención   4 151
 

Hola,

No entendí nada (y tampoco entiendo nada de vbs, pero ese no es el tema).

Si queremos un script híbrido vbs/Batch, hay que llamar en el Batch al intérprete apropiado (cscript, wscript...).

Si se trata de crear un script vbs desde cero, un editor de texto es suficiente.

Pero suponiendo que por una razón u otra queramos crear un script de este tipo a partir de un batch, no se puede redirigir mediante >> un comando que no funcionó en un batch: hay que pasar por un comando ECHO antes de la redirección.

0
Usuario anónimo
 

Hola TheGBB


que Brucine (a quien saludo) te diga que no entiende nada de VBS, no es una crítica de su parte, sino simplemente un hecho, él programa muy bien en otros lenguajes (incluido el bash) pero no en VBS.

Sin embargo, el resto de su respuesta es un comienzo de pista para ti, para ejecutar el script debes usar el comando correcto y para escribirlo >> no va a funcionar.

En resumen, él te ayuda, así que sí, no hace todo el trabajo por ti, pero ese es el concepto básico de este foro: dar pistas, hacer reflexionar al solicitante porque siempre se recuerda mejor lo que se ha entendido que lo que simplemente se ha leído.


Barnabé (a quien también saludo) tiene la amabilidad de masticar el trabajo por ti, lo que te beneficia a corto plazo, ya que tienes de inmediato 2 soluciones explotables. Pero sea como sea, para progresar deberás reflexionar por ti mismo y no esperar de forma una solución completamente hecha.

Y es muy bueno que lo agradezcas, sin embargo, el -1 a Brucine no está justificado en absoluto y por eso lo anulo.


Cuando era pequeño, el Mar Muerto solo estaba enfermo.
George Burns

0
brucine Mensajes publicados 24712 Fecha de registro   Estado Miembro Última intervención   4 151
 

Hola,

Qué importancia, de hecho he dicho en resumen lo mismo que la primera parte de la respuesta de Barnabé, pero ya sabes, para mí, las "medallas" me importan un bledo...

0
barnabe0057 Mensajes publicados 14329 Fecha de registro   Estado Colaborador Última intervención   4 930
 

Igual, no entendí el -1, así que voté a favor para restablecer las cosas.

0
Usuario anónimo
 

Que TheBGG no te conceda una "medalla" a través de un +1 es una cosa, pero que aplique una "sentencia" injustificada es otra.

  • un troll
  • una respuesta fuera de tema
  • una respuesta contraproducente

Eso merece un -1, ¿no es un tema a investigar?

CCM es un foro de ayuda, no una red social donde se aplique impunemente una pseudo justicia expedita.

Si TheBGG quiere seguir recibiendo ayuda gratuitamente, debe respetar la que recibe de forma voluntaria.

Ese es el sentido de mi intervención.

0