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,去吧。 :-)在平板电脑上回答问题的不幸的不利之处在于,提供冗长的答案是很痛苦的。 :-( –