|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15547
|
Come si automatizza l'installazione di molti hotfix?
Con più di 60 hotfix collezionati mi trovo costretto ad automatizzare l'operazione di installazione, evitando ovviamente reboot multipli.
Qualcuno mi sa spiegare come si fa su Vista ad automatizzare questa procedura con 1 unico reboot avendo a disposizione i singoli file .msu degli hotfix? PS Niente VLite grazie...
__________________
![]() Ultima modifica di hexaae : 28-01-2009 alle 06:08. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15547
|
Ok, pare che si usi la sintassi da shell amministratore:
wusa <hotfix.msu> /quiet /norestart Ora devo trovare il modo per automatizzare la creazione di un batch con più righe di comando "wusa ..." partendo da una dir con tutti i file degli hotfix .msu... Dalla shell di AmigaOS era una cazzata: list LFORMAT="wusa %n /quiet /norestart" >auto.bat Da MSDOS è un impresa visti i limiti penosi dei comandi e l'impossibiltà di cambiare l'output di un comando... ![]() Dir /B al massimo fa una lista con solo i nomi dei file, peccato che non si possa alterare l'output per inserire direttamente "wusa " davanti a ogni riga...
__________________
![]() Ultima modifica di hexaae : 28-01-2009 alle 08:00. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2007
Città: Roma
Messaggi: 9796
|
mmm a proposito: ci sono delle volte in cui di hot-fix ne metto parecchi alla volta, e poi alla fine riavvio solo dopo averli messi tutti insieme, ovviamente intendo il normale riavvio.
non è che per caso in quel modo stia sbagliando qualcosa? |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Quote:
Codice:
C:\Users\Giulio>help for Runs a specified command for each file in a set of files. FOR %variable IN (set) DO command [command-parameters] %variable Specifies a single letter replaceable parameter. (set) Specifies a set of one or more files. Wildcards may be used. command Specifies the command to carry out for each file. command-parameters Specifies parameters or switches for the specified command. To use the FOR command in a batch program, specify %%variable instead of %variable. Variable names are case sensitive, so %i is different from %I. If Command Extensions are enabled, the following additional forms of the FOR command are supported: FOR /D %variable IN (set) DO command [command-parameters] If set contains wildcards, then specifies to match against directory names instead of file names. FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] Walks the directory tree rooted at [drive:]path, executing the FOR statement in each directory of the tree. If no directory specification is specified after /R then the current directory is assumed. If set is just a single period (.) character then it will just enumerate the directory tree. FOR /L %variable IN (start,step,end) DO command [command-parameters] The set is a sequence of numbers from start to end, by step amount. So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would generate the sequence (5 4 3 2 1) FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] Press any key to continue . . . Quote:
![]() Edit: aggiungo che per fare una cosa realmente forte si potrebbe usare NSIS... ![]() ![]() Ultima modifica di WarDuck : 28-01-2009 alle 11:03. |
||
![]() |
![]() |
![]() |
#5 | |||
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15547
|
E no, è vero purtroppo... non esiste un equivalente dell'opzione LFORMAT per cambiare l'output (=non parlo di redirezione!) di un comando come un list. È terribilmente limitato DIR nell'output format.
Con un solo comando come ho specificato nell'esempio prima su AmigaOS puoi creare un file batch contenente: wusa <nomefile1.msu> /quiet /norestart wusa <nomefile2.msu> /quiet /norestart wusa <nomefile3.msu> /quiet /norestart ... il comando List (analogo con molte più funzionalità di DIR, 'Ls' per intenderci sugli altri sistemi Unix-like...). Vuoi mettere la potenza senza dover usare un giro di FOR e crearsi un batchfile? Quote:
Quote:
PowerShell dovrebbe essere forse anche più potente delle shell dei sistemi Unix-like... Quote:
Nel frattempo cmq avevo già risolto editando poi a mano il risultato della redirezione di un DIR /B >auto.bat con notepad e sostituendo l'inizio di ogni riga ("Wind") con "wusa Wind", e la fine ".msu" con ".msu /quiet /norestart" ![]()
__________________
![]() Ultima modifica di hexaae : 28-01-2009 alle 11:46. |
|||
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Ah scusami non avevo capito bene cosa intendevi con LFORMAT...
Praticamente vorresti mettere davanti ad ogni file il comando wsus giusto? Prova così: Codice:
@echo off FOR %%v IN (*) DO echo FILE: %%v ECHO stampa a video. Questa sintassi è valida per fare un file batch con estensione .cmd, questo è un esempio di output: Codice:
C:\Users\Giulio\Desktop>test FILE: chkdsk.log FILE: esami.xps FILE: ESET OnlineScanner.lnk FILE: STALKER.lnk FILE: test.cmd C:\Users\Giulio\Desktop> Codice:
C:\Users\Giulio\Desktop>test wsus "chkdsk.log" /quiet /norestart wsus "esami.xps" /quiet /norestart wsus "ESET OnlineScanner.lnk" /quiet /norestart wsus "STALKER.lnk" /quiet /norestart wsus "test.cmd" /quiet /norestart wsus "test.log" /quiet /norestart C:\Users\Giulio\Desktop> Codice:
@echo off FOR %%v IN (*) DO echo wsus "%%v" /quiet /norestart Ultima modifica di WarDuck : 28-01-2009 alle 14:01. |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15547
|
Quote:
![]() Allora il bat completo può essere così: Codice:
@echo off FOR %%v IN (*.msu) DO echo wusa "%%v" /quiet /norestart >>auto_hotfix.bat call auto_hotfix.bat echo finito. del /P auto_hotfix.bat wusa "Windows....hotfix...nnnn 1.msu" /quiet /norestart wusa "Windows....hotfix...nnnn 2.msu" /quiet /norestart ... Esegue questo auto_hotfix.bat automaticamente e alla fine scrive "finito." e chiede all'utente di cancellare il file temporaneo usato auto_hotfix.bat. In questo modo basta collezionare tutti gli hotfix in una dir e poi basterà lanciare quel bat per applicarli tutti in successione senza reboot (se non alla fine da parte dell'utente), anche se ne vengono aggiunti mano a mano alla directory col tempo. ![]() PS @WarDuck Il comando giusto è "wusa"...
__________________
![]() Ultima modifica di hexaae : 28-01-2009 alle 17:04. |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Eheh vedi che funziona?
![]() Cmq puoi pure farglielo eseguire direttamente (togliendo echo), senza far creare il file bat ![]() Oppure puoi lascialo così e introdurre un comando Pause prima della call (in modo da confermare l'esecuzione). Piuttosto hai capito se bisogna seguire un ordine particolare per le KB? |
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Sep 2008
Messaggi: 220
|
se avete problemi col cmd.exe potete sempre usare la powershell.. la 1.0 o la 2.0 CTP3, sempre meglio che "quellamerda" di cmd.exe
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15547
|
Quote:
![]() Credo che anche senza reboot tra l'uno e l'altro tenga traccia degli update "virtuali" precedenti per cui non corre mai il rischio di sovrascrivere un file vecchio a uno nuovo... e/o ipotizzo che in fase di reboot faccia questi check (presente quando scrive fase 3/3 o 2/2?).... Infine confermo che dopo l'applicazione a casaccio ho sempre trovato installato le ultime versioni dei file come mi aspettavo quindi funziona... Ho letto in qualche forum invece che ai tempi di XP bisognava stare attenti all'ordine, ma anche lì nessuno ha mai confermato.
__________________
![]() Ultima modifica di hexaae : 29-01-2009 alle 08:32. |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15547
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Quote:
![]() Beh meglio così, evidenzia ancora una volta le migliorie rispetto a XP. |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Oct 2007
Città: Roma
Messaggi: 9796
|
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 3778
|
Funziona anche con i WindowsXP-KBxxxxxxx-x86-ITA.exe ?
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2001
Città: Roma
Messaggi: 3778
|
Nessuno?
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:56.