Hola
Necesito una ayudita con este script
Me surgen 3 problemas:
el primero es que no se como definir el "CurrentDir" osea para que el script trabaje en el directorio actual.
el segundo es que tampoco se como definir ParseName("*.TTF") para que se tome en cuenta todos los archivos .ttf del directorio corriente
Y el tercer problema es, que una vez resuelto los 2 primeros, no sabría como aplicarlo al For xD
set winsh = CreateObject("WScript.Shell")
set winenv = winsh.Environment("Process")
windir = winenv("WINDIR")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("%CURRENTDIR%")
Set objFolderItem = objFolder.ParseName("*.TTF")
For each N in objFolderItem
N.InvokeVerb("Install")
next
Gracias...
Up!
Una ayudita porfavor :-(
Explica que es lo que queres hacer con el script porque me parece que estas haciendo cosas de mas.
hola hacker aver si te sirve este code ya que yo tengo xp y tu 7
Citar
set objarchivo=createobject("scripting.filesystemobject")
set objshell=createobject("wscript.shell")
carpeta=objshell.expandenvironmentstrings("%systemroot%")
set f=objarchivo.getfolder(carpeta)
set fc=f.files
for each f1 in fc
if mid(f1.name,len(f1.name)-3,4)=".exe" then
msgbox f1.name
end if
next
saludos hacker espero que te sirva
el code que puse busca los exe tu modificalo para x formato
no todo telo boy a entregar en charola de plata
saludos flamer
Cita de: $Edu$ en 4 Febrero 2012, 23:05 PM
Explica que es lo que queres hacer con el script porque me parece que estas haciendo cosas de mas.
Lo que quiero hacer es un script que instale los archivos de fuentes de texto .ttf a la carpeta fonts de windows.
El script original es casi identico solo le he modificado 3 palabras, porque el original trabajaba solamente sobre 1 archivo .ttf, osea, el script funcionaba, pero necesito que trabaje con todos los archivos .ttf del directorio donde ejecute el vbs.
Cita de: Flamer en 5 Febrero 2012, 01:40 AM
hola hacker aver si te sirve este code ya que yo tengo xp y tu 7 saludos hacker espero que te sirva
Te lo agradezco pero tu script solo funciona con el primer archivo, es decir, solo muestra un msgbox del primer archivo que encuentra en "C:\Windows\archivo.ttf"
He intentado modificarlo pero es bastante dificil para mi:
carpeta=objshell.expandenvironmentstrings("C:\Users\Administrador\Desktop\Nueva carpeta")
De todas formas eso no me serviría, no estoy definiendo el directorio actual como se haría en batch por ejemplo así:
%CD%
Pero ahora viendo tu script al menos ya se como definir el tipo de archivo "ttf", gracias.
No pretendo que me lo hagan todo, si alguien me diera esta información podría intentar modificarlo yo:
- definir el "CurrentDir" osea para que el script trabaje en el directorio actual en vez de %systemroot% en tu script
- Y que el "FOR" no se detenga en el primer resultado, Aunque esta información creo que debe estar en el tutorial de
novlucker, pero sin la primera información me quedo en las mismas :(
Gracias a los dos
Vale, he avanzado un poquito, ya no se como seguir ni corregir los errores que tengo:
Dim sCurPath
sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
set winsh = CreateObject("WScript.Shell")
set winenv = winsh.Environment("Process")
windir = winenv("WINDIR")
Set objShell = CreateObject("Shell.Application")
carpeta=objshell.expandenvironmentstrings("sCurPath")
set f=objarchivo.getfolder(carpeta)
set fc=f.files
For each f1 in fc
if mid(f1.name,len(f1.name)-3,4)=".ttf" then
f1.InvokeVerb("Install")
end if
next
Porque tiene que ser vbs? si lo sabes hacer en batch.
Digo esto porque yo haria simplemente esto:
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.run "copy /Y *.ttf C:\*.ttf" , vbhide
O algo asi y listo xD a no ser que tenga que ser vbs puro, pero vamos que funcionar funciona, no se porque no lo pensaste, ya me diras xD
edit: Creo que no anda, pero ta el mensaje espero que te llegue xD
[quote author=$Edu$ link=topic=350544.msg1715816#msg1715816 date=1328456136]
Porque tiene que ser vbs? si lo sabes hacer en batch.
shell.run "copy /Y *.ttf C:\*.ttf" , vbhide
[/quote]
Eso lo se hacer, pero no me sirve porque en batch no se pueden instalar fuentes (En windows 7 no) , con un "copy" no es suficiente, la única forma es dandole click derecho al archivo, o un programa o script vbs que haga el trabajo
:(
modificastes la linea asi
Citarcarpeta=objshell.expandenvironmentstrings
("%systemroot%\fonts")
y aber si te entendi los archivos .ttf estan en esa carpeta y tu los quieres instalar
si estan en la carpeta fonts el script deve de funsionar y mostrarte el msgbox y sino es el windows
con respecto ala instalacion no se como see instalan o que comandos se usan pero si medises que comando los instala te podre ayudar eso creo
saludos flamer y sus angeles del infierno y sus traficantes de muerte
Cita de: Flamer en 5 Febrero 2012, 20:22 PM
con respecto ala instalacion no se como see instalan o que comandos se usan pero si medises que comando los instala te podre ayudar eso creo
El comando del bucle: N.InvokeVerb("Install")
Cita de: EleKtro H@cker en 5 Febrero 2012, 20:39 PM
El comando del bucle: N.InvokeVerb("Install")
y funciona calalo con uno solo y ya con el script que te puse se ase
Cita de: Flamer en 6 Febrero 2012, 00:58 AM
y funciona calalo con uno solo y ya con el script que te puse se ase
Sorry por tardar, Nada, No hay manera
flamer, No me sale :(
¿Nadie sabe hacer esto en python o ruby? También me serviria xD
Voy a hacer algún intento con ruby.
Salu2
Este es el code original en el que quiero realizar un FOR:
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("<Folder or Share Location>")
Set objFolderItem = objFolder.ParseName("<TTF File Name>")
objFolderItem.InvokeVerb("Install")
EDITO:
Al fin he encontrado este script que hace lo que quiero
Fin de la historia ::)
No he logrado hacer el maldito bucle pero Gracias por vuestra ayuda y paciencia
Set ofso = CreateObject("Scripting.FileSystemObject")
SourceFolder = ofso.GetParentFolderName(Wscript.ScriptFullName)
Const FONTS = &H14&
Set objShell = CreateObject("Shell.Application")
Set oSource = objShell.Namespace(SourceFolder)
Set oWinFonts = objShell.Namespace(FONTS)
Set rxTTF = New RegExp
rxTTF.IgnoreCase = True
rxTTF.Pattern = "\.ttf$"
FOR EACH FontFile IN oSource.Items()
IF rxTTF.Test(FontFile.Path) THEN
oWinFonts.CopyHere FontFile.Path
END IF
NEXT