|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15559
|
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...
__________________
ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. Amiga forever!
Ultima modifica di hexaae : 28-01-2009 alle 07:08. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15559
|
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...
__________________
ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. Amiga forever!
Ultima modifica di hexaae : 28-01-2009 alle 09:00. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Roma
Messaggi: 9801
|
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: 12869
|
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 12:03. |
||
|
|
|
|
|
#5 | |||
|
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15559
|
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"
__________________
ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. Amiga forever!
Ultima modifica di hexaae : 28-01-2009 alle 12:46. |
|||
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12869
|
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 15:01. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15559
|
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"...
__________________
ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. Amiga forever!
Ultima modifica di hexaae : 28-01-2009 alle 18:04. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12869
|
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: 15559
|
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.
__________________
ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. Amiga forever!
Ultima modifica di hexaae : 29-01-2009 alle 09:32. |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jun 2007
Città: Amiga Nation
Messaggi: 15559
|
Quote:
__________________
ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. Amiga forever!
|
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12869
|
Quote:
Beh meglio così, evidenzia ancora una volta le migliorie rispetto a XP. |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Roma
Messaggi: 9801
|
|
|
|
|
|
|
#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: 09:38.










ASUS ROG SCAR 18 G834JY (i9-13980HX, 32GB DDR5@5600MHz, 4090 16GB 256bit 175W), 18" res: 2560x1600 240Hz con G-Sync. 










