0
當前我正試圖運行一個測試,當正在寫入文件時會突然關閉機器。當發生掉電時,數據的最後部分不存在,因爲它在掉電之前永遠不會刷新到磁盤。Powershell中的直接無緩衝寫入
Perl(在Linux中)允許以下列方式打開文件時進行直接非緩衝寫入。
sysopen(F, $file, O_WRONLY|O_DIRECT) or die "Couldn't direct open file $file\n";
這允許數據被寫入,直到最後一個字符機器遇到由於某種原因而崩潰。同樣,對於Windows,C++允許在使用「FILE_FLAG_NO_BUFFERING」標誌打開文件進行寫入時進行直接寫入。
如何允許使用powershell直接/無緩衝寫入磁盤?
一個例子:'$ FILESTREAM =新物體System.IO.FileStream($文件,[System.IO.FileMode] ::創建,[ System.Security.AccessControl.FileSystemRights] :: Modify,[System.IO.FileShare] :: None,1,[System.IO.FileOptions] :: WriteThrough)'。我對編輯32.8k用戶的答案感到不夠自信。 –
@SimonMcKenzie Bah,去吧。 :-)在平板電腦上回答問題的不幸的不利之處在於,提供冗長的答案是很痛苦的。 :-( –