首页 / 知识
关于C#:无需使用Windows文件缓存即可复制文件
2023-04-14 12:00:00

Copy a file without using the windows file cache
有人知道一种将文件从路径A复制到路径B并抑制Windows文件系统缓存的方法吗? 在C#中,我发现类似的方法可以工作,可以将其更改为直接复制到目标文件:
更重要的是,还有FILE_FLAG_WRITE_THROUGH和FILE_FLAG_NO_BUFFERING。 MSDN上都有一篇不错的文章:http://support.microsoft.com/kb/99794 我不确定这是否有帮助,但是请看一下使用FILE_FLAG_SEQUENTIAL_SCAN提高性能。
如果您不介意使用工具,那么ESEUTIL对我来说很棒。 您可以检查此博客条目,以比较Buffered和NonBuffered IO函数以及从何处获取ESEUTIL。 从Technet博客复制一些文本:
因此,看看上面的缓冲I / O的定义,我们可以看到感知的性能问题在哪里-文件系统缓存的开销。当我们不打算在复制完成后访问源文件时,尝试将大文件从一个位置复制到另一个位置时,最好使用无缓冲的I / O(或原始文件副本)。这将避免文件系统缓存的开销,并防止大型文件数据有效刷新文件系统缓存。许多应用程序通过调用CreateFile()创建一个空的目标文件,然后使用ReadFile()和WriteFile()函数来传输数据来实现此目的。 Eseutil是正确的答案,而且从Win7 / 2008 R2开始,您可以在Xcopy中使用/ j开关,其效果相同。 我知道这个问题是11年前的,如今有robocopy可以替代xcopy。
您需要检查/ J选项 |
最新内容
相关内容
linux命令添加文件?
linux命令添加文件?,工作,简介,数据,系统,文件,命令,操作,文件名,内容,终端,linux哪些指令可以创建文件终端下键入:touch加文件名,这样就创建了linux文件输入命令?
linux文件输入命令?,工作,系统,地址,信息,工具,位置,命令,设备,发行,首开,linux中使用vi指令后怎么输入?1、[Ctrl]+[f]:屏幕向下移动一页,相当于linux文件中剪切命令?
linux文件中剪切命令?,位置,系统,工作,命令,发行,连续,标准,终端,文件,目录,linux怎么粘贴粘贴与复制快捷键 Shift + Ctrl + c:复制。Shift + Clinux存储文件命令?
linux存储文件命令?,系统,地址,工作,命令,软件,电脑,标准,底部,信息,文件,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux保存命令文件?
linux保存命令文件?,系统,状态,命令,文件,第一,管理,电脑,模式,编辑,终端,linux下vi命令编辑器怎样编辑及保存退出?先按ESC进入Command模式,然linux私有文件命令?
linux私有文件命令?,系统,工作,工具,命令,设备,文件,目录,位置,不了,情况,Linux命令-文件管理命令上面代码说明,使用rdev命令将可引导内核vmlin删除linux文件命令?
删除linux文件命令?,名称,不了,文件夹,命令,文件,目录,方法,指令,子目录,选项,Linux删除文件的命令?linux 删除文件指令:输入rd盘符名:\文件夹linux文件录入命令?
linux文件录入命令?,系统,命令,网络,标准,时间,密码,名字,管理,文件,文件夹,Linux必学的60个命令-文件处理1、安装和登录命令:login、shutdownlinux命令移除文件夹?
linux命令移除文件夹?,命令,文件夹,通用,不了,数据,名称,档案,系统,文件,目录,删除文件夹中所有文件的linux命令(创建和删除文件和文件夹的linlinux文件倒序命令?
linux文件倒序命令?,地址,工作,管理,标准,命令,基础,系统,数据,最新,代码,linux命令more查看文件时怎么直接翻到最后一页?more不能直接翻到最在linux文件后加命令?
在linux文件后加命令?,系统,工作,命令,工具,电脑,基础,管理,情况,第一,简介,Linux文件相关命令命令一:cat cat命令应该是在Linux中查看文件内容linux命令删除文件夹?
linux命令删除文件夹?,系统,名称,环境,文件夹,不了,命令,文件,数据,档案,目录,删除文件夹命令linuxLinux的文件和目录的删除命令有:rm、rmdir、