公務電腦不知道是不是由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
|