Ripristino del software aperto dopo un evento di riavvio in Windows


36

Trovo che alla fine di una lunga giornata, a volte ho un gran numero di programmi in esecuzione. Tutto ciò che dovrò usare domani. Normalmente, questo non è un problema, posso semplicemente bloccare la macchina e tornare domani. Il mio problema si risolve quando Windows Update si avvia nel cuore della notte e la forza riavvia il mio computer. Questo a sua volta chiude tutto il mio software aperto. Ovviamente conservo tutto regolarmente in modo da non perdere nulla, ma perdo tempo a riaprire tutte queste risorse ogni volta che si riavvia.

[MODIFICARE]

Dovrei chiarire che voglio ancora essere in grado di riavviare il mio computer quando si verifica un aggiornamento. Prevenire il riavvio ritarda il problema solo dopo. Avrei dovuto essere più specifico in quanto desidero poter ripristinare il mio ambiente di lavoro dopo un riavvio per qualsiasi motivo. Cose come manutenzione programmata, perdita di potenza, aggiornamenti e installazioni di software.

[MODIFICARE]

Non posso semplicemente configurarli per l'avvio all'avvio perché questi file cambiano di settimana in settimana. Quindi ho bisogno di qualcosa che controlli ciò che ho aperto e mi dà la possibilità di "recuperare" quelle sessioni software quando eseguo di nuovo l'accesso.

Qualcuno ha qualche suggerimento su cosa posso fare? Sarei persino disposto ad acquistare software per farlo se questa fosse l'unica opzione.

Grazie


In realtà, ricordo di aver letto da qualche parte, che Win7 avrebbe dovuto avere una caratteristica del genere, anche se immagino che non fossero in grado di prepararlo in tempo per il rilascio. Quindi potrebbe venire in futuro.
eidylon,

1
Il comando "shutdown / g" sembra che possa essere accoppiato con la funzione di recupero automatico degli arresti anomali di un programma per fare il 75% di quello che sto cercando. Dovrò fare altri test per vedere se funziona.
Doltknuckle,

1
il comando shutdown non funziona davvero come sperato ... quello di cui ho davvero bisogno è un modo per monitorare i file attualmente aperti. Quindi posso solo creare uno script dinamico per riavviare quei file.
Doltknuckle,

1
6 anni dopo e questa non è ancora una funzionalità di Windows ... OSX ce l'ha da anni!
GiH

7 anni e oltre .....
iAmLearning

Risposte:


16

È così fastidioso che non esiste ancora una soluzione elegante a questo problema!

Succede a tutti noi: Windows rallenta fino a un brusco arresto (una sorta di perdita di memoria lo sta causando, poiché sei un tipico 132 schede aperte in Chrome, 57 aperte in Firefox, 24 finestre aperte in totale, che fanno un complesso operazione che li coinvolge tutti nello stesso momento in cui lavori in cima al lavoro, in cima al lavoro ..... tipo di ragazzo), e diventa così lento che inizi davvero a perdere tempo aspettando solo che accadano cose sul tuo computer ..... quindi DEVI semplicemente reimpostare la sessione che si sta lentamente sviluppando nelle ultime 5 settimane e infine soccombere all'incubo che sta ricreando il tuo intricato casino di finestre e aprendo file e cartelle di Explorer, dopo le temute finestre ricomincia.

BENE.

Ho trascorso molto tempo alla ricerca di soluzioni eleganti che non lo rendessero un incubo, e questa è la mia conclusione e la mia attuale "soluzione".

Ho trovato un solo programma che può salvare e ripristinare sia i programmi che i file che avevano aperto - ed è davvero fluido, per lo più. È Twinsplay (Professional Edition) . ( CacheMyWork e SmartClose ripristinano entrambi solo i programmi, ma non i file.)

Tuttavia Twinsplay ha alcuni problemi e avvertenze reali (e inoltre non è freeware costa $ 40):

  1. Quando ripristini Firefox, sembra duplicare TUTTE le schede all'interno, deve essere codificato per annotare ciò che hai caricato all'interno di Firefox (come se ogni scheda è un 'file' come il modo in cui ripristinerà fedelmente tutti i tuoi file di parole), quindi se Firefox è già impostato per aprire le schede della sessione precedente e con 100 schede aperte tenterà di caricare 200 schede e generalmente sarà un disastro. Inoltre, rovina le schede fuori servizio !! (per fortuna mantiene almeno le schede duplicate nel proprio "gruppo" a partire dall'ultima delle schede originali, ma entrambi i gruppi di schede hanno l'ordine confuso, quindi sì, rovina anche l'ordine delle schede originali). Lo stesso problema sono sicuro che accadrà in Chrome ..... Non l'ho provato (non ho osato!).

  2. L'altro problema: per qualsiasi programma in cui potresti avere più file aperti (come Word, Photoshop, InDesign): se per qualche motivo viene visualizzata una finestra di dialogo durante il caricamento del primo file nel programma (un errore macro o come nel mio InDesign, nel primo documento mancava un link immagine), quindi tutti i documenti dopo quello primo non riescono ad aprirsi perché Twinsplay di progettazione carica tutti i file nei loro programmi contemporaneamente. E Twinsplay non mostra da nessuna parte nella sua UI un elenco di file dalla sessione salvata (né nei registri / file di configurazione di Appdata, ho controllato), quindi se questo scenario si verifica probabilmente dimenticherai quel quinto file in InDesign che stavano lavorando 4 settimane fa e devono ancora finire!

Quindi: il metodo che sto facendo dopo tutto questo è:

Vado attraverso ogni file aperto nella barra delle applicazioni, copio il suo percorso del file (che è abbastanza facile da fare abbastanza rapidamente se conosci le finestre di dialogo, i menu e le scorciatoie da tastiera) e per qualsiasi file o finestra in cui mi trovavo in un particolare individuare o evidenziare alcune cose, ecc., lo noto solo in modo da non dimenticare 10 minuti dopo. Ecco un esempio fittizio di cosa intendo.

Quindi, dopo il riavvio, ho appena incollato il percorso di ciascun file nella barra degli indirizzi di Windows Explorer per aprire ogni file uno alla volta, con il programma associato. Se avessi un file in realtà non era aperto nel suo programma associato (come un TIFF in Photoshop), immagino che lo annoto in modo da ricordare.

-

ADESSO. La mia soluzione non è poi così male, ma ci vuole ancora del tempo per copiare il percorso del file di ogni file aperto.

La cosa ideale sarebbe quella di avere uno strumento che sputa TUTTI i percorsi dei file di Windows e i percorsi dei programmi ("C: \ photoshop.exe" "C: \ image.TIFF") in una volta e poi puoi mettere quelle informazioni negli script batch per aprire ogni file con il programma in cui si trovava, uno per uno o tutti contemporaneamente nello stesso batch, se lo si desidera. Sarebbe perfetto.

Per velocizzare le cose, c'è un modo per copiare i percorsi dei file di TUTTI i file aperti di Windows attivi? Un piccolo strumento per sputare i percorsi dei file di tutti gli elementi della barra delle applicazioni dovrebbe essere abbastanza facile! Se Twinsplay può farlo, ovviamente può essere fatto in qualche modo ..... Ho fatto questa domanda su un post separato, qui . Questo codice potrebbe farlo?

Dal momento che Microsoft non ci ha fornito un'elegante soluzione con un clic a livello di sistema operativo, non dovremmo tentare un metodo di ripristino della sessione simile al letargo del Santo Graal con un semplice accesso di terze parti o, ad esempio, armeggiare con cache di ibernazione per ricaricare hack ecc.

Il riavvio di Windows è SUPPOSTO per essere un aggiornamento per cancellare la RAM e svuotare tutto, non conservarlo tutto, quindi è meglio farlo come una riapertura manuale dei tuoi file (annotando alcuni dettagli di dove in alcuni file stavi facendo ), ma QUESTO nel modo più elegante possibile.


L'uso di Twinsplay è probabilmente l'opzione migliore che ho a questo punto. Funzionerà per la maggior parte degli utenti e sembra essere un ottimo strumento. La vera soluzione a questo è cambiare il comportamento dell'utente in modo che smettano di avere questi problemi.
Doltknuckle,

per risolvere i "bug" in twinsplay, come ho detto prima la migliore soluzione di gran lunga penso che sarebbe di avere un file batch con un clic / piccolo exe per copiare tutti i percorsi dei file aperti e i programmi in cui si trovano, quindi tu può configurare le cose in modo che siano quasi un solo clic in più da ripristinare anche dopo il riavvio. fastidioso anche se sembra che io abbia posto la mia domanda al riguardo in modo poco chiaro, quindi una mod ha chiuso la domanda :(.

4
Aggiungerò: Windows ha qualcosa di incorporato che usa per riavviare dopo che sono stati installati determinati aggiornamenti e un riavvio forzato, e ripristinerà molte / la maggior parte delle finestre al loro stato originale. Quindi, non v'è un certo meccanismo di livello di sistema operativo per questo, non so cosa sia né come raggiungibile sarebbe per noi da usare.
boomhauer,

1
@boomhauer Registrazione per il riavvio dell'applicazione rileva che le applicazioni che "[Registra] per il riavvio dell'applicazione causeranno anche il riavvio automatico dell'applicazione dopo il riavvio del computer ... a causa di un aggiornamento del software."
FriendlyGuy

6

Ho sentito che la gente usa un programma chiamato CacheMyWork . Riaprirà le app che avevi aperto, ma non aprirà i file su cui stai lavorando (a meno che il programma non abbia una tale funzione).

Un'altra opzione è che puoi eludere il problema che puoi eseguire le tue app in una macchina virtuale. Quindi quando torni a casa puoi mettere in pausa la macchina virtuale con persisterà lo stato della macchina virtuale su disco. Quindi riprendi la macchina virtuale al tuo ritorno. Questo elimina il problema perché un giorno dovrai aggiornare / patchare il sistema operativo della macchina virtuale. Inoltre, probabilmente prenderai un colpo di scena (quanto dipende da cosa fai).

Quando si tratta di lasciare le cose aperte e il riavvio delle macchine dalle patch, sono proprio lì con te.


1
Il suggerimento software è un passo nella giusta direzione. Penso che il problema sia che non controlla attivamente i file aperti, quindi non può ripristinarli in seguito. Nel peggiore dei casi, potrei dover hackerare insieme uno script che rileva quali file sono aperti e quindi li imposta per l'avvio in ordine.
Doltknuckle,

1
Sono d'accordo, desidero che CacheMyWork abbia monitorato i documenti aperti (come Docuemtns recenti di Windows) e rieseguire i documenti all'avvio. Proprio come fare doppio clic su un documento di Microsoft Word attiverà Word, CacheMyWork potrebbe fare molto, eseguendo all'avvio i miei documenti.
Scott McClenning,

4

2016 e ancora niente da Microsoft ... Ho deciso di provarlo vbscript. Non è eccezionale, ma esegue il backup di tutti i programmi e in alcuni casi è anche Windows.

Il primo script salva tutti i processi in un file di testo nella cartella specificata (desktop) e tutti i nomi delle finestre in un file separato. Il secondo script legge e avvia tutti i processi dal file scritto dal primo script. Entrambi dovrebbero essere salvati con estensione .vbs. Inoltre, il salvataggio dei nomi delle finestre richiede l'installazione di Microsoft Word (non chiedere ..).

On Error Resume Next
Dim session, folder, Word, Tasks

Set Word = CreateObject("Word.Application")
Set Tasks = Word.Tasks

' folder is the folder in which the files will be created. Can also be instantiated by hardcoding a path
folder = getPathOfFolder("Desktop")
' The second argument of the function call (session.txt) is the filename of the file containing all window names
Set sessionFile = CreateFileAt(folder, "session.txt")

for Each Task in Tasks
    if Task.Visible Then
        sessionFile.WriteLine(Task.Name)
    End if
Next
sessionFile.Close
Word.Quit

' The second argument of the function call (processes.txt) is the filename of the file containing all processes
Set processesFile = CreateFileAt(folder, "processes.txt")
set processesList = getAllProcesses()

for Each Process in processesList
    processesFile.WriteLine(Process.CommandLine & "")
Next

processesFile.Close
MsgBox("Done!")




Function getPathOfFolder(path)
    ' Dim objShell As Object
    ' Dim strPath As String

    Set objShell = Wscript.CreateObject("Wscript.Shell")
    Path = objShell.SpecialFolders(path)
    getPathOfFolder = Path & "\"
End Function

Function CreateFileAt(filePath, fileName)
    Dim fso, session
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set session = fso.CreateTextFile(filePath & fileName, true)
    Set CreateFileAt = session
End Function

Function getAllProcesses()
    Const Computer = "." 
    Dim WMI, ProcessList
    Set WMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2")
    Query = "Select * FROM Win32_Process"
    Set ProcessList = WMI.ExecQuery(Query)
    Set getAllProcesses = ProcessList
End Function

.

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(getPathOfFolder("Desktop") & "processes.txt", 1)

Do While file.AtEndOfStream = False
    Set Shell = CreateObject("Wscript.Shell")
    Shell.Run(file.ReadLine)
Loop

MsgBox("Done!")

Function getPathOfFolder(path)
    ' Dim objShell As Object
    ' Dim strPath As String

    Set objShell = Wscript.CreateObject("Wscript.Shell")
    Path = objShell.SpecialFolders(path)
    getPathOfFolder = Path & "\"
End Function

Non ho ancora trovato un modo per ottenere a livello di codice i percorsi dei file utente78017 copie ogni volta che si riavvia. Mi piacerebbe sapere per quali programmi questo script apre tutti i file aperti e per quali programmi non lo fa. Se qualcuno ha voglia di pulire questo codice, sentiti libero di modificare il post.


1

Ricevuto questo sul feed RSS oggi:

CacheMyWork è una pratica utility che ti consente di riavviare Windows senza perdere il posto nel tuo lavoro. Crea un elenco di controllo delle applicazioni attualmente aperte e riavvia le app che hai selezionato al successivo accesso al computer.

fonte


+1 Ah, è carino ... molto bello trovare (ma era già stato pubblicato da Scott).

0

Ho lo stesso problema. Dopo un riavvio, ho almeno mezz'ora di riavvio di tutti i processi che utilizzo normalmente.
Ho trovato un'utilità che ha la capacità di tornare allo stato di pre-avvio, Slimbrowser . Mi piacerebbe molto di più.


1
Ho trovato il modo di salvare le sessioni del browser (usa firefox) e delle cartelle (impostazione di windows) e farle riavviare all'avvio. Le altre cose come Office (Word, Excel, Outlook), il blocco note e Adobe Reader devo ancora trovare una buona soluzione.
Doltknuckle,

Per un editor, ultra-edit ha questa capacità. Personalmente preferisco kedit per le sue capacità di scripting.
Dave,

-1

Non esattamente quello che hai chiesto, ma potresti semplicemente mettere il tuo computer in modalità "sospensione" durante la notte. A meno che tu non abbia effettivamente processi in esecuzione, questo non cambierà nulla sul modo in cui funziona, ci vorranno solo un secondo o due per non sospendere al mattino e Windows Update non può essere eseguito durante la sospensione.

Ed è gratuito.


Bella idea, ma non risolve il problema quando l'OP deve eseguire un aggiornamento di Windows.
ChrisF,

1
Ci ho pensato, la sospensione e l'ibernazione non fanno davvero nulla per me. Non è che voglio risparmiare energia, è principalmente che voglio tornare al mio precedente ambiente di lavoro dopo un riavvio forzato.
Doltknuckle,

Il mio pensiero era che se tu fossi lì, potresti semplicemente rifiutare di riavviare fino a quando non sarà conveniente.
CarlF,

Ciò che Doltknuckle sta chiedendo è "Come posso ripristinare le cose su cui stavo lavorando dopo un riavvio?" La domanda alla quale le persone continuano a rispondere, tuttavia, è "Come posso impedire il riavvio automatico del mio computer?" Quest'ultima è una buona domanda, ma è del tutto irrilevante per la domanda che è stata effettivamente posta.
Martha,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.