2011-03-23

Win 7 儲存「最近的項目」

前一篇文章已提過「最近的項目」之優、缺點。如果你啟用了 Win 7 裡的儲存最近的項目功能,你會發現它另外一個問題。
「登出或關機後,先前最近的項目將會通通被 Win 清除」!!
只要再回到 Windows,「最近」都不見最近了!!被清空了!

我克服的方法簡單的說,建立一個備份資料夾,讓電腦關機時,先將「最近的項目」儲存到備份資料夾,等電腦開機時,再由備份資料夾還原到被清空的「最近的項目」。

1. 啟用 Win 7 的「最近的項目」
工具列上,點滑鼠右鍵,選「內容」,在開始功能表中的「隱私權」第二項「儲存最近開啟的項目並顯示於「開始」功能表和工作列」打勾。
再點選右上角「自訂」,找到「最近的項目」,取消勾勾,即可。
image

(建議可關閉開始功能表中的「最近的項目」)
image

2. 建立備份資料夾
Win 7 「最近的項目」路徑為
C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent
我在 winodws 目錄下,建立新資料夾「Recent_Backup」

3. 建立備份排程
(工作排程器 在控制台,系統管理工具)
點右上角「建立基本工作」,名稱請自取
image

接下來選擇一個 Windows 關機時會發生的動作,利用此動作觸發備份的排程,下圖中的 Desktop Window Manager 是我選用的,也建議使用。
image

選擇要觸發的動作類型
image

在「程式或指令碼」輸入 xcopy(關於 xcopy 可看 5. 說明,建議使用 robocopy,但須安裝程式)
新增引數輸入 "C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent" "C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent_Backup" /S
(以上"" 不可省略,/S 代表空資料夾不複製)
image

最後點一下開啟內容
image

開啟內容後,建議再建立一個觸發程序
image

當使用者登出時,也可觸發備份的動作,參數如下圖
image

後面幾個分頁,建議將一些勾勾去掉,請參考下圖
image

image

這樣就完成,在 Windows 關機與使用者登出時將對 Recent 資料夾進行備份動作!可在排程工作點滑鼠右鍵,執行看看,Recent_Backup 有資料複製進去了。

4. 建立還原排程
「建立還原的排程工作」的方法與「建立備份的排程工作」相同,只不過在「新增引數」的地方將兩個資料夾對換
新增引數
輸入 "C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent_Backup" "C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent" /S

5. 測試還原排程
請務必測試還原排程是否可執行成功。先到「Rencet」資料夾中刪除所有資料,再執行建立好的還原排程,檢查備份檔案是否有複製回去。

說明:
若 xcopy 無法複製回去,可試試安裝 Windows Server 2003 Resource Kit Tools。安裝後,以 robocopy 代替 xcopy,同樣可使用參數 /S,且有其它更強功能,詳細如下。

6. 補充說明
Recent 資料夾中「AutomaticDesinations」與「CustomDestinations」兩個資料夾是重要的。如果不小心刪除沒有關係,會再自動建立出來。

因為備份了 Recent 內的所有內容,萬一以後有某資料夾不想再出現於「最近的項目」中,記得要將 Recent 與Recent_Backup 兩個資料夾中的同樣的捷徑刪除。或者用下面說明的方法

如果您有使用 2003 Resource kit Tools,則可以更方便的,利用一些參數進行設定,讓您的「最近的項目更人性化」。以下是推薦的參數
/PURGE :刪除掉 source 中沒有的檔案。(備份過程)
/MAXAGE:n :僅複製 n 天內的檔案。(備份過程)
(其它 robocopy 參數請見 >robocopy /?)


也就是說,在備份的「新增引數」部分改為
"C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent_Backup" "C:\Users\使用者名稱\AppData\Roaming\Microsoft\Windows\Recent" /S /MAXAGE:14 /PURGE
上面的代表:僅備份 14 內有動過的檔案或資料夾,如果某些捷徑已經被手動提前刪除了,則備份過程也會刪除備份檔中的檔案。

外傳 ------------ ------------ ------------
這個設定的過程,無意間也找到一個好玩的工具,可以修改檔案的「修改日期」時間,Use FileTouch utility to change file dates and times,下載一個 Filetouch.exe 檔,將此檔案至於 C:\Windows\System32 資料夾內,在 cmd 中,以 >FileTuch 某資料夾或檔案,所有檔案日期將全變為當時時刻。 FileTouch 參數請見該網站。

1 則留言:

雜言雜語 提到...

注意某些清除軟體預設的功能會清理最近的文件
例如 CCleaner 中
「Windows 檔案總管」中的「最近開啟的文件」
預設是打勾的,因此執行後會清除 最近的文件、項目,記得將勾勾去掉