你確定要複製這個檔案而不含其內容嗎?

某種情況下,在 Windows 裡複製檔案時,可能會出現有點嚇人或令人感到不知所措的警告訊息。

雖然很嚇人,但事實上不用過度的擔心,這算是一個很不常見的正常現象。首先,先來瞭解在什麼情況下,才會出現這樣的訊息。

通常情況,這個檔案是從網路下載的檔案。當我們把這個下載的檔案從 NTFS 的磁碟複製到 FAT32 的磁碟(例如:隨身碟)時,就會發生這樣訊息。

在 NTFS 的磁碟,支援一種叫 stream data (alternate data streams) 的資料串,這個資料串有一個特點:就是不論我們寫入多長的資料串,原始檔案的檔案大小不會因此而改變。例如:A 檔案為 100KB,我寫入了 500KB 的資料串到 A 檔案,就我們觀點來看,理論上 A 檔案會變成 600 KB,不過事實上 A 檔案的檔案大小仍然維持著 100KB。

當我們從網路下載檔案,特別是  EXE 檔案,在 NTFS 磁碟上儲存時,就會同時寫入 stream data。也因為如此,所以當我們在執行 EXE 檔案時,就會看到類似這樣的畫面:

但是在非 NTFS 的磁碟,例如:FAT32,不支援 stream data,所以這也就造成了為什麼我們將 NTFS 磁碟的檔案複製到 FAT32 的磁碟時,會出現如同第一張圖那麼驚人卻又不知該如何做抉擇的警告訊息了。所以,其實以第一張圖來講,直接選『是』就可以了,不用擔心檔案真的會發生問題。

不知大家有沒有留意過,有些檔案的內容,會有一個【解除封鎖】的按鈕

其實按下【解除封鎖】之後,stream data 也就會一併被清除了。

這也就代表日後我們在複製檔案,或者執行這個檔案時,就不會再有一些奇怪或者有點煩人的警告視窗了。

stream data 的存在與否,對於檔案的完整性,可說是沒有什麼影響,但對於我們一般使用者而言,可能就會有稍稍的不便。如果你認為你的檔案不需要 stream data,尤其是  EXE 檔案。

也可藉由微軟的 Streams 這支程式,來幫我們大量快速地清除 stream data。

官方網頁:https://technet.microsoft.com/en-us/sysinternals/streams

直接下載網址:https://download.sysinternals.com/files/Streams.zip

這是一個 CMD 的程式,不會有任何的 GUI 介面(我最喜歡種程式了!),使用方法非常簡單,它所使用的參數也只有兩個。

-s     Recurse subdirectories
-d     Delete streams
  • -s:代表連同子目錄的檔案一併處理
  • -d:代表刪除檔案的 stream data

用法大致如下:

# 顯示目前資料夾某一檔案的 stream data
streams [檔案名稱]

# 顯示目前資料夾所有檔案的 stream data
streams *

# 顯示特定資料夾內檔案的 stream data
streams D:\test\[檔案名稱]
streams D:\test\*

# 顯示目前資料夾及子資料夾所有檔案的 stream data
# 多加了參數 -s
streams -s *

# 顯示特定資料夾及子資料夾所有檔案的 stream data
# 多加了參數 -s
streams -s D:\test\*

刪除跟顯示幾乎相同用法,只是多加了參數 -d

# 刪除目前資料夾某一檔案的 stream data
streams -d [檔案名稱]

# 刪除目前資料夾所有檔案的 stream data
streams -d *

# 刪除特定資料夾內檔案的 stream data
streams -d D:\test\[檔案名稱]
streams -d D:\test\*

# 刪除目前資料夾及子資料夾所有檔案的 stream data
# 多加了參數 -s
streams -d -s *

# 刪除特定資料夾及子資料夾所有檔案的 stream data
# 多加了參數 -s
streams -d -s D:\test\*

雖然 streams 這程式沒有圖形介面,但這種程式有時候反而才能達到所謂的自動化功能。

我通常都用 FDM(Free Download Manager )這個開放原始碼的續傳軟體,透過命令列的方式,我可以讓 FDM 在下載完成後,自動執行 streams 幫我刪除下載後檔案的 stream data,所以我才會說我最喜歡這種程式。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款