it-swarm-eu.dev

Ripristino del software aperto dopo un evento di riavvio in Windows

Trovo che alla fine di una lunga giornata, a volte ho un gran numero di programmi in esecuzione. Tutto ciò che avrò bisogno di usare domani. Normalmente, questo non è un problema, posso semplicemente bloccare la macchina e tornare domani. Il problema si verifica quando l'aggiornamento di Windows viene avviato nel cuore della notte e la forza riavvia il computer. Questo a sua volta chiude tutto il mio software aperto. Ovviamente, salvo tutto regolarmente, quindi non perdo nulla, ma spreco tempo a riaprire tutte quelle risorse ogni volta che c'è un riavvio.

[MODIFICARE]

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

[MODIFICARE]

Non posso semplicemente farli installare all'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 riaccedo.

Qualcuno ha qualche suggerimento su cosa posso fare? Sarei persino disposto ad acquistare software per fare questo per me, se questa è l'unica opzione.

Grazie

36
Doltknuckle

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

Succede a tutti noi: Windows rallenta fino a fermarsi (una sorta di perdita di memoria lo sta causando, dato che sei un tipico tab 132 aperto in chrome, 57 aperto in firefox, 24 finestre aperte in totale, facendo un complesso operazione che li coinvolge tutti nello stesso momento in cui svolgi il lavoro in cima al lavoro, in cima al lavoro ..... tipo di ragazzo), e diventa così lento che in realtà inizi a perdere tempo solo in attesa perché le cose accadano sul tuo computer ..... quindi devi semplicemente ripristinare la sessione che si sta lentamente accumulando nelle ultime 5 settimane e infine soccombere all'incubo che ricrea il tuo intricato disordine di finestre e file aperti e Explorer cartelle, dopo il riavvio delle finestre temute.

BENE.

Ho passato 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 solo un programma, che può salvare e ripristinare sia i programmi che i file che avevano aperto, ed è molto semplice, soprattutto. È Twinsplay (Professional Edition) . ( CacheMyWork e SmartClose entrambi ripristinano solo i programmi, ma non i file .)

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

  1. Quando si ripristina firefox, sembra duplicare TUTTE le schede al suo interno, deve essere codificato per annotare ciò che è stato caricato all'interno di firefox (come se ogni scheda fosse un 'file' come il modo in cui ripristinerà fedelmente tutti i file di Word), quindi se si ha già firefox impostato per aprire le schede della sessione precedente e ha aperto 100 schede che tenterà di caricare 200 schede e generalmente sarà un disastro. Inoltre, incasina le schede fuori ordine !! (Per fortuna conserva almeno le schede duplicate nel proprio "gruppo" che inizia dopo l'ultima delle schede originali, ma entrambi i gruppi di schede hanno l'ordine fatto in modo che sì anche l'ordine delle schede originali venga modificato). Questo stesso problema sono sicuro che sarebbe successo in Chrome ..... Non l'ho testato (non osavo!).

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

COSÌ: il metodo che sto facendo, dopo tutto questo, è:

Vado attraverso ogni file aperto nella barra delle applicazioni, copio il suo percorso di file (che è abbastanza facile da fare abbastanza velocemente se sai come muoverti tra finestre di dialogo e menu e scorciatoie da tastiera), e per qualsiasi file o finestra in cui mi trovassi in un particolare spot o ha messo in evidenza alcune cose, ecc., ho solo notato che non ho dimenticato 10 minuti dopo. Ecco un esempio fittizio di cosa intendo.

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

-

ADESSO. La mia soluzione non è male, ma richiede ancora del tempo per copiare il percorso del file di ogni file aperto.

La cosa ideale sarebbe avere uno strumento che sputa fuori TUTTI i percorsi di file e i percorsi di programma di Windows ("C:\photoshop.exe" "C:\image.TIFF") in una volta e quindi è possibile inserire tali informazioni in script batch per aprire ciascun file con il programma in cui si trovava, uno alla volta o tutti insieme 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 attuali oggetti della barra delle applicazioni dovrebbe essere abbastanza facile! Se Twinsplay può farlo, ovviamente può essere fatto in qualche modo ..... Ho posto questa domanda su un post separato, qui . Potrebbe questocodice farlo?

Poiché Microsoft non ci ha fornito un'elegante soluzione con un solo clic del sistema operativo, non dovremmo tentare un metodo di ripristino della sessione di tipo holy hibernate-like con semplice accesso di terze parti o ad es armeggiare con cache di ibernazione che ricarica gli hack ecc.

È necessario che il riavvio di Windows sia un aggiornamento per cancellare RAM e svuotare tutto, senza conservare tutto, quindi è meglio farlo come una riapertura manuale dei file (mentre si annotano alcuni dettagli di dove alcuni file che avevi fino a), ma QUESTO il più elegante possibile.

16
user78017

Ho sentito gente che usa un programma chiamato CacheMyWork . Riaprirà le app aperte, ma non aprirà i file su cui stai lavorando (a meno che il programma non disponga di tale funzionalità).

Un'altra opzione è che puoi aggirare il problema che puoi eseguire le tue app in una macchina virtuale. Quindi quando vai a casa puoi mettere in pausa la macchina virtuale con lo stato della macchina virtuale su disco. Quindi riprendi la macchina virtuale quando ritorni. Questo allontana il problema perché un giorno sarà necessario aggiornare/applicare patch al sistema operativo della macchina virtuale. Inoltre, probabilmente avrai un successo in termini di prestazioni (quanto grande dipende da cosa fai).

Quando si tratta di lasciare le cose aperte e di riavviare le macchine dalle patch, sono qui con te.

5
Scott McClenning

2016 e ancora niente da Microsoft ... Ho deciso di provarlo con vbscript. Non è bello, ma fa sparare tutti i programmi e, in alcuni casi, anche le finestre.

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 automaticamente i percorsi del file user78017 copie ogni volta che si riavvia. Mi piacerebbe sapere per quali programmi questo script apre tutti i file aperti di backup e per quali programmi non lo fa. Se qualcuno ha voglia di pulire questo codice, sentiti libero di modificare il post.

4
Fr4nc3sc0NL

Preso questo sul feed RSS oggi:

CacheMyWork è una pratica utilità che ti consente di riavviare Windows senza perdere il tuo posto nel tuo lavoro. Crea una lista di controllo delle applicazioni attualmente aperte e riavvia le app che hai selezionato la prossima volta che accedi al computer.

Fonte

1
Steiv

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

0
Dave