Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

probleme mașina de spalat rufe

Magazine care vand bere la keg

Proiect ciudat legat de metaverse...
 Daniel Fenechiu: Nu vom aște...

Transfer in acelasi pc cu FTP

Și daca industria europeana ...

Alimentare camera ip distanta 50m
 Nelamurire instalare internet

Cheie licenta Windows11

Sfat plantare arbori pentru o mic...

rachiu din gemuri si dulceturi
 Bara de cautare sa o mut jos?

Accesorii multitool Black and Dec...

Suma maxima.

Pilonul II - date de piata, tendi...
 

vbs pentru font instalation - ajutor

- - - - -
  • Please log in to reply
14 replies to this topic

#1
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008
Salut

Pot spune ca nici noob nu sunt, dar inteleg cate ceva din logica limbajului de programare, asta ca sa nu dati cu pietre. Posted Image

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
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
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
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008
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
nexusm

nexusm

    Senior Member

  • Grup: Senior Members
  • Posts: 2,793
  • Înscris: 07.07.2011
pune si tu toata secventa de cod, sa o vedem si noi pe toata

#5
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008
Doar nu o fi vreun secret... Posted Image  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
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
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
nexusm

nexusm

    Senior Member

  • Grup: Senior Members
  • Posts: 2,793
  • Înscris: 07.07.2011
sau abordezi problema altfel cam asa:
http://www.visualbas...nt-m101591.aspx

#8
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008

View Postsceptic_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
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
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.


#10
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008
unde script.vbs e numele fisierului meu?

#11
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
script.vbs = numele pe care l-ai dat scriptului tau

#12
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008
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
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
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
sceptic_schizo

sceptic_schizo

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 23.02.2009
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
kr4wl3r

kr4wl3r

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 31.03.2008
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

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate