|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Windows 7 - Copiare i fonts con il file batch, prompt comandi, script
Gent.mi,
gradirei gentilmente un aiuto per risolvere il seguente problema su Windows 7 inerente all'installazione di alcuni fonts con il file bat. CD FONTS SET FONTSdir=%~dp0 COLOR F0 @ECHO Off PROMPT $P$G ECHO. PAUSE copy *.ttf c:\windows\fonts Al termine dell'esecuzione, mi esce una finestra che mi indica che i file sono stati copiati e, andando a verificare nella cartella: C:\Windows\Fonts, noto che i fonts non sono stati copiati. Dove sbaglio?, provando con il S.O. XP non ho nessun problema trovo i fonts copiati. Ringrazio anticipatamente, saluto. Domenico. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Il problema deriva dalla diversa gestione dei font in Windows 7 rispetto ad Xp.
Per essere attivo e identificato dal sistema, il nuovo font deve necessariamente essere installato; la semplice copia del file .ttf può avvenire senza problemi via batch o prompt dei comandi, ma quest'operazione non comporta l'installazione del carattere. Cosa che invece avviene copiando il .ttf tramite Esplora Risorse, in quanto Windows riconosce c:\windows\fonts come cartella speciale e ne attiva i relativi comandi aggiuntivi per l'utente: l'installazione del font, nel caso specifico. Per ovviare al problema, invece del comando copy da un batch puoi usare direttamente questo script (crea un file di testo, inserisci il contenuto che segue e rinomina l'estensione in .vbs): Codice:
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("CARTELLA_ORIGINE")
Set objFolderItem = objFolder.ParseName("NOMEFONT.TTF")
objFolderItem.InvokeVerb("Install")
Ad esempio: Codice:
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("c:\Prova_Installazione")
Set objFolderItem = objFolder.ParseName("prova.ttf")
objFolderItem.InvokeVerb("Install")
PS: dato che il comando Install agisce sulla cartella Fonts, che è di sistema, apparirà la richiesta di autorizzazione del controllo account utente.
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 01-02-2011 alle 21:51. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo Ezio,
non ho parola come ringraziare per l'interessamento e l'aiuto, dimostra che si può fare il trasferimento dei font dal CD al PC. Mi scuso se continuo a disturbare fino ad ora non sono riuscito e senz'altro sono io che sbaglio e, essendo un autodidatta puoi comprendere. Ho fatto come mi hai suggerito e mi esce la seguente finestra: Script: .............\Pippo.vbs Riga: 3 Carattere: 1 Errore: Necessario oggetto. "objFolder" Codice: 800A01A8 Origine: Errore di run-time di Microsoft VBScript Il file Vbs che lo chiamo Pippo.Vbs è Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace("c:\Prova_Installazione") Set objFolderItem = objFolder.ParseName("BRUSHSCI.TTF") objFolderItem.InvokeVerb("Install") Se sono due fonts basta aggiungere al 3° rigo? Fiducioso della gradita collaborazione, saluto. Domenico. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Ho provato la tua stessa configurazione, a me va (click sull'immagine per ingrandire):
L'errore che hai avuto indica che lo script non riesce a trovare la cartella in cui è contenuto il font. Assicurati di averla chiamata Prova_Installazione e che sia in C:\. UAC (controllo account utente) è attivo (in caso contrario a volte ci sono problemi di accesso sui percorsi in C)? Da quale percorso, o disco esterno, stai avviando lo script? Prova anche a mettere la cartella sul desktop, permetterà di aggirare eventuali restrizioni sull'utente relative ad alcuni percorsi sulla partizione di sistema: Codice:
Set objFolder = objShell.Namespace("C:\Users\TUO_NOME_ACCOUNT\Desktop\Prova_Installazione")
Per installare più caratteri, invece, ti basta replicare le ultime due righe: Codice:
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("c:\Prova_Installazione")
Set objFolderItem = objFolder.ParseName("BRUSHSCI.TTF")
objFolderItem.InvokeVerb("Install")
Set objFolderItem = objFolder.ParseName("BRUSHSCI-2.TTF")
objFolderItem.InvokeVerb("Install")
Set objFolderItem = objFolder.ParseName("BRUSHSCI-3.TTF")
objFolderItem.InvokeVerb("Install")
Fammi sapere, ciao!
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 02-02-2011 alle 19:59. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo Ezio,
finalmente un passo avanti è stato raggiunto. Non puoi immaginare la soddisfazione che ho provato e a quanti forum mi sono rivolto con esito negativo. Funziona inserendo il file .VBS sul Desktop e la cartella dei fonts in C:\. Gradirei e mi servirebbe che sia inserito su un CD che, all'inserimento sul lettore, automaticamente dovrebbe installare; e se volessi aggiungere altri Fonts? Mi scuso se approfitto della gentilezza e pazienza, ringraziandoti, saluto. Domenico. |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo Ezio,
faccio seguito alla mia per comunicare che funziona anche inserendo altri fonts, per la fretta non ho visto il seguito della tua. Ho notato che sei di Giovinazzo, io di Bari. Auguro di riuscire ciò che desidero, ti ringrazio, fiducioso. Domenico. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Fa piacere aiutare un vicino di casa
Assodato il corretto funzionamento dello script, ora non resta che avviarlo tramite cd. Potresti creare un batch che esegua, in successione, le seguenti operazioni: - copia dei file .ttf dal cd in C:\Installazione_font o meglio ancora sul desktop (%USERPROFILE%\Desktop\Installazione_font) sfruttando i comandi da te indicati nel primo post; - copia del file .vbs dal cd nella cartella Installazione_font in cui sono stati copiati i .ttf (come sopra); - avvio del file .vbs da \Installazione_font. Alla fine del batch potresti eventualmente inserire una riga per la cancellazione della cartella \Installazione_font, in modo da eliminare i file .ttf e il .vbs a procedura completata. PS: invece di copiare lo script su disco fisso potresti avviarlo direttamente dal cd, ma ritengo preferibile seguire quel passaggio in più per evitare problemi derivanti dal controllo account utente.
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo Ezio,
sono rammaricato, purtroppo sono nuovamente a disturbarti. Da ieri ho hatto diverse prove con risultato negativo. Non so dove sbaglio e ti invio ciò che ho fatto: Pippo.bat CD FONTS SET FONTSdir=%~dp0 COLOR F0 @ECHO Off PROMPT $P$G ECHO. PAUSE copy *.ttf c:\%userprofile%\desktop\Installazione_font Ho provato cambiando la riga in: copy Installazione_font c:\%userprofile%\desktop\Installazione_font Pupo.vbs Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace("c:\Installazione_fonts") Set objFolderItem = objFolder.ParseName("BRUSHSCI.TTF") objFolderItem.InvokeVerb("Install") Set objFolderItem = objFolder.ParseName("ALGER.TTF") objFolderItem.InvokeVerb("Install") Se gentilmente puoi inserire il comando che mi cancella la cartella dei fonts una volta che sono stati inseriti. Ringrazio, saluto. Domenico. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Attenzione, non:
c:\%userprofile%\ ma: %userprofile%\ (senza neanche lo slash come prefisso) E' una variabile d'ambiente appositamente resa disponibile per evitare di inserire a mano la lettera di partizione e il percorso \Users\NOMEUTENTE\ All'inizio del batch ti conviene creare già la cartella Installazione_font sul desktop: Codice:
c: cd \ cd %userprofile%\Desktop mkdir Installazione_font
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 03-02-2011 alle 10:20. |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo Ezio,
mi scuso se ancora ti disturbo. Non riesco a far copiare la cartella "Installazione_font" su desktop o addirittura sul C. ho provato in diversi modi e, ti invio l'ultima variazione consigliata: Pippo.bat CD FONTS SET FONTSdir=%~dp0 COLOR F0 @ECHO Off ECHO. PAUSE c: CD \ CD %userprofile%\desktop\mkdir Installazione_font Abbi pazienza e scusami. Domenico. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Partiamo dall'inizio. Supponiamo che tu abbia i tuoi fonts, così come lo script, nella cartella Installazione_font del CD. Il batch si trova invece nella root del cd stesso.
Dovresti avere questa struttura:
Purtroppo non ho il pc sottomano e sto andando a memoria, eventualmente prova a chiedere nella sezione sulla programmazione come strutturare al meglio il batch, troverai gente molto più preparata di me su queste cose. Lo script tanto ormai hai capito come impostarlo
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo Ezio,
finalmente dopo tanto e varie prove e grazie ai tuoi consigli e pazienza, il tutto funziona a meraviglia sul Seven. Si potrebbe oltre al Seven far funzionare sull'XP? bisognerebbe effettuare qualche modifica? Diversamente non fa nulla. Ringrazio della gradita collaborazione, cordialmente saluto. Domenico. |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Ottimo! Se vuoi posta il batch finale, potrebbe essere utile ad altri che vogliono automatizzare l'installazione dei caratteri.
Per XP credo sia tutto più semplice, basta copiare direttamente i .ttf in c:\windows\fonts senza applicare script o altro
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 57
|
Gent.mo ezio,
so che con l'XP è molto semplice, avrei gradito unificare per il semplice motivo che potrebbe usare sia con il seven che con l'XP. Ti invio il link per prelevare il file che purtroppo non sono riuscito con il forum. http://www.mediafire.com/file/fa79bl...un%20Prova.rar Immagine riassuntiva della struttura del cd, del batch e dello script: ![]() (click per ingrandire) Se ritieni opportuno, mandami la tua e-mail mi farebbe cosa gradita. Saluto cordialmente. Domenico. Ultima modifica di ezio : 05-02-2011 alle 09:51. Motivo: inserita Immagine riassuntiva della struttura del cd, del batch e dello script: |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26492
|
Ottimo, vedo che hai semplificato parecchio il tutto e sei anche riuscito ad inserire la cancellazione della cartella direttamente nello script
Ho inserito uno screen nel tuo post Per l'unificazione delle procedure per XP e 7 potresti chiedere nella sez. programmazione se è possibile inserire nel batch un comando o uno script che individui la versione del sistema operativo e applichi, a seconda della circostanza, la semplice copia dei file o l'apertura dell'altro script. Se non è possibile con il batch, potrebbe esserci qualche eseguibile apposito, chissà.
__________________
Ezio Lacandia on DeviantArt | Slimkat mod per N4 e N5 | Trattative mercatino HWU | Driver nForce NET Framework [Guida] | BSOD individuazione cause | Guida Sintetica Strap/Divisori P45 | Fix associazioni Vista/7 Problemi Win Installer | Avviare programmi senza richiesta UAC | Problemi Font | Guida Raccolte 7 | Win 32/64bit come perchè Ultima modifica di ezio : 05-02-2011 alle 09:55. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:24.




















