今天群友一如既往地在群裡抱怨 QQ 的 cache 實在是太多了, 一個賬號下就有上百 GB, 頭大。
我也順便去看了一下。還好, 不過大概還是有 30G 的樣子。正當 shift delete 的時候, 突然想到了一個事。

以前的做法是刪掉目錄, 用一個沒有後綴名的檔案去頂替掉目錄, 這樣就會造成打開目錄失敗達到無法寫入的目的。
但是 QQ 更新了之後 (想必是有上傳 Log), 這個辦法不管用了。

所以這裡提出一個我的另一個想法。

這聽起來就很草, 來試試。

首先在 Folder Options 文件夾選項 找到並關閉 Hide protected operating system files.
然後進入盤符 C, 找到 C:\$Recycle.Bin\Recycle Bin, 點擊路徑編輯框, 將路徑記下來。

img

然後進入 QQ 的 cache 目錄, 敲入以下命令, 將目錄連接到回收站。

1
2
3
> mklink /J Audio F:\$RECYCLE.BIN\S-1-5-21-3915135931-3060788653-94912148-1001
> mklink /J Image F:\$RECYCLE.BIN\S-1-5-21-3915135931-3060788653-94912148-1001
> mklink /J Video F:\$RECYCLE.BIN\S-1-5-21-3915135931-3060788653-94912148-1001

實際測試

效果不太好, 文件可以寫入到回收站, 但是實際上桌面的回收站圖標進去還是空的,
有可能回收站自己也有 cache 一類的東西, 直接以文件系統的方式寫入不是很行。

那麽就連接到 \\.\NUL 吧

StackOverflow 搜索了一番, 發現 windows 上有類似 linux 中 /dev/null 的内核對象叫 \\.\NUL
那麽就改掉上邊回收站的路徑, 重新 mklink 試試。

看一看文件夾被連接到哪去了—– 竟然在桌面
img

在 Windows 中, 你不能以 NUL 為名字創建一個檔案或者目錄, 想必這就是其中的原因。
在目錄連接到 NUL 之後, 應該不會再對硬碟有讀寫操作了。