Windowsでの再起動イベント後の開いているソフトウェアの復元


36

長い一日の終わりに、実行中のプログラムが多数あることがあります。明日使用する必要があるものすべて。通常、これは問題ではなく、単にマシンをロックして明日戻ってくることができます。夜中にWindows Updateが起動し、コンピューターを強制的に再起動すると、問題が発生します。その結果、開いているすべてのソフトウェアが閉じられます。もちろん定期的にすべてを保存しているので、何も失うことはありませんが、再起動が発生するたびにすべてのリソースを再度開くことに時間を浪費します。

[編集]

更新がダウンしたときにコンピューターを再起動できるようにしたいことを明確にする必要があります。再起動を防ぐと、問題が遅れるだけです。何らかの理由で再起動した後、作業環境を回復できるようにしたいという点で、より具体的にすべきでした。定期メンテナンス、電力損失、更新、ソフトウェアのインストールなど。

[編集]

これらのファイルは毎週変わるため、起動時に起動するようにセットアップすることはできません。そのため、開いているものを監視し、ログイン時にそれらのソフトウェアセッションを「回復」するオプションを提供するものが必要です。

誰でも私ができることについて何か提案がありますか?それが唯一のオプションである場合、私はこれを行うためのソフトウェアを購入することをいとわないでしょう。

ありがとう


実際、どこかでWin7にはこのような機能が搭載されているはずでしたが、リリースに間に合うように準備することができなかったと思います。そのため、将来的に来るかもしれません。
-eidylon

1
「shutdown / g」コマンドは、プログラムの自動クラッシュ回復機能と組み合わせて、探しているものの75%を実行できるように見えます。これが機能するかどうかを確認するには、さらにテストを行う必要があります。
ドルトナックル

1
シャットダウンコマンドは期待どおりに機能しません。本当に必要なのは、現在開いているファイルを監視する方法です。次に、これらのファイルを再起動するための動的スクリプトを作成するだけです。
ドルトナックル

1
6年後、これはまだWindowsの機能ではありません... OSXはこれを何年も持っています!
-GiH

7年とカウント.....
iAmLearning

回答:


16

とても迷惑なので、まだこの問題に対するエレガントな解決策はありません!

それは私たち全員に起こります:Windowsは単に停止するまで遅くなります(あなたは典型的な132のタブがクロムで開いており、57がFirefoxで開いており、合計で24のウィンドウが開いており、あなたが仕事の上で、仕事の上で仕事をするのと同時にそれらすべてを含む操作.......男の種類)、それはあなたが実際にあなたに起こっていることを待っているだけで時間を無駄にし始めるコンピューター.......過去5週間にわたってゆっくりと構築されていたセッションをリセットする必要があります。再起動。

まあ。

私はそれを悪夢にしないエレガントな解決策を探すのに多くの時間を費やしました。これが私の結論であり、現在の「解決策」です。

私が見つけたプログラムは1つだけで、プログラムと開いたファイルの両方を保存および復元することができます-それはほとんどスムーズです。それはTwinsplay(Professional Edition)です。(CacheMyWorkSmartCloseは両方ともプログラムのみを復元し、ファイルは復元しません。)

ただし、Twinsplayにはいくつかの実際の問題と注意事項があります(また、フリーウェアではないため、40ドルかかります)。

  1. firefoxを復元する場合、内部のすべてのタブを複製するようです。firefox内にロードした内容を記録するようにコーディングする必要があります(各タブは、すべての単語ファイルを忠実に復元するような「ファイル」であるかのように)以前のセッションのタブを開くようにFirefoxをすでに設定していて、100個のタブを開いていた場合、200個のタブをロードしようとするため、通常は災害になります。また、タブが乱れています!! (ありがたいことに、少なくとも元のタブの最後のタブから始まる重複したタブを独自の「グループ」に保持しますが、両方のタブグループの順序が乱れているため、元のタブの順序も台無しになります)。この同じ問題は、Chromeでも起こると確信しています。

  2. 他の問題:複数のファイルを開いていることが多いプログラム(Word、Photoshop、InDesignなど):何らかの理由で、プログラムへの最初のファイルの読み込み中にダイアログボックスが表示される場合(マクロエラー、またはInDesignでは、最初のドキュメントに画像リンクがありません)、Twinsplayがすべてのファイルをプログラムに一度に読み込むため、最初のドキュメント以降のすべてのドキュメントを開くことができません。また、TwinsplayはUIのどこにも保存されたセッションのファイルのリストを表示しません(また、Appdataのログ/構成ファイルにもチェックしました)。このシナリオが発生した場合、InDesignの5番目のファイル4週間前に取り組んでいましたが、それでも終了する必要があります!

SO:結局のところ、私がしている方法は次のとおりです。

タスクバーで開いている各ファイルを確認し、そのファイルパスをコピーします(Windowsのダイアログとメニューおよびキーボードショートカットの方法を知っていれば、かなり簡単に実行できます)。スポットまたは特定のものが強調表示されていたなど、私はちょうどそのことに注意しますので、10分後に忘れないでください。ここだ、私は何を意味するかのダミー例。

その後、再起動した後、各ファイルのパスをWindowsエクスプローラーのアドレスバーに貼り付けて、関連するプログラムで各ファイルを1つずつ開きます。関連付けられたプログラム(PhotoshopのTIFFなど)で実際にファイルが開いていなかった場合は、そのことを書き留めておきたいので、覚えています。

-

今。私の解決策はそれほど悪くはありませんが、開いているすべてのファイルのファイルパスをコピーするにはまだ時間がかかります。

理想的なのは、すべてのウィンドウのファイルパスとプログラムパス( "C:\ photoshop.exe" "C:\ image.TIFF")を一度に吐き出すツールを用意して、その情報をバッチスクリプトに入れることです。必要に応じて、各ファイルを1つ1つ、または同じバッチで一度にすべてのプログラムで開きます。それは完璧でしょう。

作業をスピードアップするために、アクティブなすべてのウィンドウの開いているファイルのファイルパスをコピーする方法はありますか?現在のすべてのタスクバー項目のファイルパスを吐き出す小さなツールは、非常に簡単です!Twinsplayでできるのであれば、どうにかしてできます。.....この質問は、別の投稿でここにありますこの コードでできますか?

MicrosoftはエレガントなOSレベルのワンクリックソリューションを提供していないため、単なるサードパーティアクセスや、ハイバネートキャッシュのリロードハッキングなどを使用した聖杯ハイバネートのようなセッション復元方法を試みるべきはありません

ウィンドウの再起動は、RAMをクリアしてすべてをフラッシュするための更新であり、すべてを保持するのではなく、ファイルを手動で再度開くことをお勧めします(特定のファイルのどこにいるかのいくつかの詳細を記録します) )、しかしこれは可能な限りエレガントに。


Twinsplayを使用することは、おそらく私が現時点で持っている最良のオプションです。ほとんどのユーザーに有効であり、素晴らしいツールのようです。これに対する実際の解決策は、ユーザーの行動を変更して、これらの問題が発生しないようにすることです。
ドルトナックル

Twinsplayの「バグ」を解決するために、以前に言ったように、すべての開いているファイルのパスとそれらが含まれているプログラムをコピーするためにワンクリックのバッチファイル/小さなexeを持っていると思いますまた、再起動後に復元するために、もう1回クリックするだけで構成することができます。私は私の求めているように見えることを迷惑けれども、それについての質問を。modは、質問を閉じて:(不明瞭な方法で

4
私は追加します:Windowsには、特定の更新プログラムがインストールされて再起動が強制された後に再起動するために使用するものが組み込まれ、多くの/ほとんどのウィンドウを元の状態に復元します。そのため、これに OSレベルのメカニズムいくつかあります、それが何であるか、またどのように使用できるかはわかりません。
ブームハウアー14

1
@boomhauer Application Restartに登録すると、「[アプリケーションの再起動を登録]すると、ソフトウェアの更新により、コンピューターの再起動後にWindowsが自動的にアプリケーションを再起動します。」
FriendlyGuy 14

6

人々はCacheMyWorkというプログラムを使用していると聞きました。開いていたアプリは再び開きますが、作業中のファイルは開きません(プログラムにそのような機能がない限り)。

別のオプションは、仮想マシンでアプリを実行できる問題を回避できることです。その後、家に帰ると、仮想マシンを一時停止して、仮想マシンの状態をディスクに保持できます。その後、戻ったときに仮想マシンを再開します。いつか仮想マシンのOSを更新/パッチする必要があるため、これは問題を回避します。また、おそらくパフォーマンスが低下します(その大きさは、実行内容によって異なります)。

物事を開いたままにして、マシンをパッチからリブートするということになると、私はすぐそこにいます。


1
ソフトウェアの提案は正しい方向への一歩です。問題は、開いているファイルをアクティブに監視しないため、後で復元できないことだと思います。最悪の場合、開いているファイルを検出し、それらを順番に起動するように設定するスクリプトを一緒にハックする必要があります。
ドルトナックル

1
CacheMyWorkが開いたドキュメント(Windows Recent Docuemtnsなど)を監視し、起動時にドキュメントを再実行することを望みます。Microsoft Word文書をダブルクリックするとWordがトリガーされるように、CacheMyWorkは起動時に文書を実行することで大いに役立ちます。
スコットマックレニング

4

2016年、それでもMicrosoftからは何も...私は試してみることにしましたvbscript。それは素晴らしいことではありませんが、すべてのプログラムをバックアップし、場合によってはウィンドウでも起動します。

最初のスクリプトは、すべてのプロセスを指定したフォルダー(デスクトップ)のテキストファイルに保存し、すべてのウィンドウ名を別のファイルに保存します。2番目のスクリプトは、最初のスクリプトによって書き込まれたファイルからすべてのプロセスを読み取り、起動します。両方とも拡張子.vbsで保存する必要があります。また、ウィンドウ名を保存するには、Microsoft Wordをインストールする必要があります(尋ねないでください。)。

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

彼が再起動するたびにuser78017がコピーするファイルパスをプログラムで取得する方法をまだ見つけていません。このスクリプトが開いているすべてのファイルをバックアップするプログラムと、開かないプログラムについて聞いてみたいと思います。誰かがこのコードをきれいにしたいなら、投稿を編集してください。


1

今日RSSフィードでこれを入手しました。

CacheMyWorkは、作業中の場所を失うことなくWindowsを再起動できる便利なユーティリティです。現在開いているアプリケーションのチェックリストを作成し、次にコンピューターにログオンしたときに選択したアプリケーションを再起動します。

ソース


+1ハ、それはかわいい...とてもいい発見(しかし、それはすでにスコットによって投稿されていた)

0

私は同じ問題を抱えています。再起動後、通常使用するすべてのプロセスを少なくとも30分は再起動します。
起動前の状態に戻ることができるユーティリティSlimbrowserを見つけました。もっと大好きです。


1
ブラウザ(firefoxを使用)およびフォルダー(windows設定)セッションを保存し、起動時にそれらを再起動する方法を見つけました。Office(Word、Excel、Outlook)、メモ帳、Adobe Readerなど、他にも良いソリューションはまだありません。
ドルトナックル

編集者にとって、ウルトラエディットにはその機能があります。個人的には、スクリプト機能があるため、keditを好みます。
デイブ

-1

正確にはあなたが尋ねたものではありませんが、コンピューターを一晩「サスペンド」モードにすることができます。実際にプロセスを実行している場合を除き、これによって動作方法が変更されることはありません。午前中に1〜2秒で中断が解除され、Windows Updateは中断中に実行できません。

そして、それは無料です。


いい考えですが、OPがWindowsの更新を行う必要がある場合は問題を解決しません。
-ChrisF

1
私はそのことを考えました、サスペンションと冬眠は本当に私のために何もしません。エネルギーを節約したいのではなく、主にハードリスタート後に以前の作業環境に戻したいということです。
ドルトナックル

私が思ったのは、もしあなたがそこにいれば、便利になるまでリブートを拒否することができるということです。
CarlF

Doltknuckleが求めているのは、「再起動後に作業していたものをどのように復元すればよいですか?」です。しかし、人々が答え続ける質問は、「コンピューターが自動的に再起動しないようにするにはどうすればよいですか?」です。後者は良い質問ですが、実際に尋ねられた質問とは完全に無関係です。
マーサ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.