一個詭異的狀況。
為了在測試網站測網頁,我透過該主機的網路分享建立一個 HTML 檔案,測完一回,調整程式想存檔時 Notepad++ 彈出以下訊息:
這是 Notepad++ 寫入檔案存取被拒的貼心 SOP,當寫入本機檔案遇到權限不足,改用管理者身分多可克服;但本案例檔案來自網路分享資料夾,切換成本機管理者也無濟於事。但這個訊息指出一項事實 - 我沒權限覆寫剛剛才建立的檔案!新增檔案後卻不能修改是什麼奇妙的 NTFS 設定?
反覆檢查網路分享跟 NTFS 的權限設定,甚至改成 Everyone 完全控制,還是無法寫入。
更扯的事情來了,反覆測試,有幾次不知怎麼忽然可以成功寫入,但多測幾次又存取被拒,讓我懷疑問題不在 NTFS 權限設定,而是有其他因素造成,一個常見原因是被檔案被其他程式開啟鎖定造成無法更新,當訊息不明確時容易跟權限不足搞混。
終於,我找到問題來源 - 是檔案總管的預覽功能搞鬼!
原來,要編輯檔案時我習慣在檔案總管先點 Test.html 再按右鍵呼叫 Notepad++ 編輯檔案,因為預覽功能開啟,預覽視窗會讀取 Test.html 並顯示網頁內容,還一併鎖定 Test.html 不允許其他程式修改,造成我遇到的無權限寫入現象。此時只要改選其他檔案或空白處讓 Test.html 從預覽視窗消失,就能正常覆寫了。
將同樣的操作拉回本機資料夾演練,發現預覽功能並不會防礙檔案寫入,而且還會偵測到檔案被修改重新產生預覽畫面,故此一狀況似乎只發生在網路磁碟機情境。不過,未來如遇到 PDF、Excel、Word 等可預覽檔案出現無權修改的詭異狀況,我會優先檢查是不是預覽功能作祟。