OS / 手動刷新桌面圖式

公務電腦不知道是不是由win 10升級的關係

win 11系統感覺不是很穩定

最常發生的事桌面圖示圖突然跑掉,像下面這張圖

出現的圖示則不一定是這樣cmd樣式,有時候是捷徑的箭頭變成其他圖樣

 

有事問google大神,有2個方法

主要-重啟圖示緩存(Cache)

次要-重啟exploer.exe

參考來源

1.Why do some of my icons look like this and how do I change it?

2.How to Rebuild a Broken Icon Cache in Windows 10


基於最小變動原則,我先嘗試重啟explorer.exe

在win 11,開啟"工作管理員",可以在桌面下方的功能列按右鍵

 

找到explorer.exe,win 11的介面是在"Window處理程序"-Windows檔案總管

可能會有好幾個,也不是每個都會有作用,只能一個一個試

 

按右鍵,重新啟動工作

 

桌面下方的功能列會先消失,之後又出現,桌面也會有種刷新的感覺

桌面圖示應該就會恢復正常狀態

 

因為這樣就有效果,我就沒有再去試清除緩存(Cache)的方式

當然可以每次都這樣手動點點點,不過這些流程可以用cmd製作成bat,批次檔來處理

這時候就可以直接問Gemini,如何用產生程式碼

 

這裡要留意的是編碼問題,cmd預設的編碼是Big5,或者說Windows系統都是這樣,用VBA處理文字編碼也是要注意這個

假如用windows內建的"記事本",在存檔的時候

編碼方式直接選擇ANSI,這樣就不用額外在程式碼內更改cmd的編碼

 

 

如果是用"Notepad ++",就要在編碼選單中設定

 

程式碼

1.ANSI編碼格式的bat檔

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off
:: CMD預設使用繁體中文(Big5/ANSI),因此不需要切換編碼

title Explorer.exe 重新啟動工具 (ANSI/Big5)

echo.
echo ----------------------------------------------------
echo         即將重新啟動 Explorer.exe 檔案總管
echo ----------------------------------------------------
echo.
echo 警告: 桌面和工作列將暫時消失!請確保已儲存所有工作。

:: 暫停 3 秒,給使用者充足的反應時間
timeout /t 3 /nobreak > nul

:: 1. 強制終止 explorer.exe 程序
taskkill /f /im explorer.exe

:: 2. 啟動新的 explorer.exe 程序
start explorer.exe

echo.
echo ----------------------------------------------------
echo Explorer.exe 已成功重新啟動。
echo ----------------------------------------------------
echo.

:: 保持視窗開啟,讓使用者看到結果,並防止視窗立即關閉
pause

 

如果選成UTF-8,就必須增加變動編碼的程式碼,如下方的"chcp 65001 > nul"

2.UTF-8編碼格式的bat檔

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
:: 設定 CMD 視窗編碼為 UTF-8,以確保中文顯示正確 (Code Page 65001)
chcp 65001 > nul

title Explorer.exe 重新啟動工具 (UTF-8)

echo.
echo ----------------------------------------------------
echo         即將重新啟動 Explorer.exe 檔案總管
echo ----------------------------------------------------
echo.
echo 警告: 桌面和工作列將暫時消失!請確保已儲存所有工作。

:: 暫停 3 秒,給使用者充足的反應時間
timeout /t 3 /nobreak > nul

:: 1. 強制終止 explorer.exe 程序
taskkill /f /im explorer.exe

:: 2. 啟動新的 explorer.exe 程序
start explorer.exe

echo.
echo ----------------------------------------------------
echo Explorer.exe 已成功重新啟動。
echo ----------------------------------------------------
echo.

:: 保持視窗開啟,讓使用者看到結果,並防止視窗立即關閉
pause