vbs pentru font instalation - ajutor
Last Updated: Apr 24 2016 10:46, Started by
kr4wl3r
, Apr 23 2016 00:24
·
0
#1
Posted 23 April 2016 - 00:24
Salut
Pot spune ca nici noob nu sunt, dar inteleg cate ceva din logica limbajului de programare, asta ca sa nu dati cu pietre. Lasand gluma la o parte, am gasit undeva un script care ajuta la instalarea in numar mai mare a fonturilor (dar eu am nevoie sa instalez cateva mii), daaaaar la fiecare pas avea tot felul de confirmari si informatii (genul Font X installed - Press OK - si nu pot sta cu degetul pe mouse vreo 3-4 ore pana sunt gata de dat ok-uri, skip-uri etc). Am reusit sa scot toate confirmarile ce nu ma intereseaza, inafara de una: Daca exista fontul mai imi zice font already installed. Do you want to overwrite? Ce pot scrie in acea linie de cod ca sa sara peste aceasta intrebare si sa mearga la urmatorul font din lista? Mai jos e portiunea respectiva de sursa: If objFSO.FileExists("C:\Windows\Fonts\" & objFile.Name) Then Set objFile = Nothing - IN LOC DE ASTA CE TREBUIE SA PUN? (Ce e scris aici e o incercare a mea) Else Set objFont = objNameSpace.ParseName(objFile.Name) objFont.InvokeVerb("Install") Set objFont = Nothing End If Va multumesc |
#2
Posted 23 April 2016 - 10:39
nu pui nimic, lasi linia goala
If objFSO.FileExists("C:\Windows\Fonts\" & objFile.Name) Then Else Set objFile = Nothing insemna ca distrugi obiectul objFile , ca atare scriptul va termina executia |
#3
Posted 23 April 2016 - 11:00
Salut
Multumesc pentru raspuns. Am avut si linia goala si tot imi aparea o fereastra in care ma intreba daca sa fac overwrite fontul care exista deja in folderul destinatie. De aia am ajuns aici sa intreb si am lasat linia cu rosu ca sa fie exemplu cu locul in care e nevoie de "ceva". Poate fi pus si altceva care sa nu imi apara deloc fereastra? Sau stau langa el pana e gata? |
#4
Posted 23 April 2016 - 11:04
pune si tu toata secventa de cod, sa o vedem si noi pe toata
|
#5
Posted 23 April 2016 - 11:13
Doar nu o fi vreun secret... Mai ales ca nu e facut de mine, doar ajustat sa nu apara j-de mii de mesaje de confirmare de gen font x installed, press ok to go to next etc
Option Explicit ' Installing multiple Fonts in Windows 7 ' http://www.cloudtec.ch 2011 Dim objShell, objFSO, wshShell Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile Set objShell = CreateObject("Shell.Application") Set wshShell = CreateObject("WScript.Shell") Set objFSO = createobject("Scripting.Filesystemobject") Wscript.Echo "Installing multiple Fonts in Windows 7 & 8.1 TEST" Wscript.Echo " Install Fonts " Wscript.Echo "Brace yourself!" strFontSourcePath = "y:\Data\Kit\Fonts\Test\" If objFSO.FolderExists(strFontSourcePath) Then Set objNameSpace = objShell.Namespace(strFontSourcePath) Set objFolder = objFSO.getFolder(strFontSourcePath) For Each objFile In objFolder.files If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" Then If objFSO.FileExists("C:\Windows\Fonts\" & objFile.Name) Then Set objFile = Nothing - aici am avut si gol, si pus asa cum se vede si nici nu mai stiu ce incercari am mai facut, cautand tutoriale de visual. Else Set objFont = objNameSpace.ParseName(objFile.Name) objFont.InvokeVerb("Install") Set objFont = Nothing End If End If Next Wscript.Echo "FINISHED" Else Wscript.Echo "Font Source Path does not exists" End If |
#6
Posted 23 April 2016 - 11:50
dialogurile nu sunt generate de vbscript ci de obiectul COM care primeste verbul "Install"
objFont.InvokeVerb("Install") ruleaza scriptul in linia de comanda in batch mode //B Batch mode: Suppresses script errors and prompts from displaying cscript //B script.vbs S-ar putea sa fie nevoie sa lansezi comand prompt-ul ca administrator:Run as administrator Edited by sceptic_schizo, 23 April 2016 - 11:51. |
#7
Posted 23 April 2016 - 11:57
#8
Posted 23 April 2016 - 12:18
sceptic_schizo, on 23 aprilie 2016 - 11:50, said:
dialogurile nu sunt generate de vbscript ci de obiectul COM care primeste verbul "Install" objFont.InvokeVerb("Install") ruleaza scriptul in linia de comanda in batch mode //B Batch mode: Suppresses script errors and prompts from displaying cscript //B script.vbs S-ar putea sa fie nevoie sa lansezi comand prompt-ul ca administrator:Run as administrator Adica pun o linie in text cu ce ai scris tu? Poti sa imi spui unde? |
#9
Posted 23 April 2016 - 12:34
Run -> cmd
apare command prompt tastezi cscript //B script.vbs enter script.vbs inlocuiesti cu numele pe care l-ai dat scritptului tau Edited by sceptic_schizo, 23 April 2016 - 12:41. |
#12
Posted 23 April 2016 - 12:55
spune din nou "font already installed. Do you want to overwrite it?"c:\.
Daca mai ai rabdare sa ii gasim de capat iti multumesc, daca nu... vreau sa rezolv, dar nu vreau sa te retin mai mult decat te simti bine. Attached Files |
#13
Posted 23 April 2016 - 13:54
incearca cu un singur /
cscript /B script.vbs eventual cu b in loc de B de fapt , problema e ca dialogurile vin de la componenta care instaleaza fontul, nu de la script engine incearca asa opreste serviciul font cache vezi http://computerstepb...he_service.html ruleaza scriptul daca merge, reporneste serviciul dupa ce scriptul s-a oprit |
#14
Posted 23 April 2016 - 15:59
ghici ce, daca ai win7 + pur si simplu copii fonturiel in \Windows\Fonts si vor fi inregistrate automat Daca unele fonturi exista deja , va trebui un reboot
|
#15
Posted 24 April 2016 - 10:46
hai ca incerc si iti spun care solutie a fost buna
multumesc |
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users