MoveFileEx 到底能不能跨驱动器移动文件(文件夹)解决方案
MoveFileEx 到底能不能跨驱动器移动文件(文件夹)
MoveFileEx 的作用类似"剪切",在同一盘符下,用它,比用CopyFile然后再DeleteFile效率高的多,其实它就是把文件的名字给改了,比如原来的文件是c:\a.iso用它来移动到c:\a\a.iso,只是改了文件的全名,非常快。Windows的剪切文件也是这样,在同一盘符下,剪切文件,很快。但是跨盘符,就要复制再删除了。
我想问的是,这个函数有一个参数选项
MOVEFILE_COPY_ALLOWED
MSDN给出的解释是,在跨盘符的时候,用CopyFile然后再DeleteFile模拟剪切。
看MSDN这个说法,是可以跨盘符的呀,为什么我调用这个函数,只要是跨盘符,就报GetLastError为3的错,就是拒绝访问???
------解决方案--------------------
If the file is to be moved to a different volume, the function simulates the move by using the CopyFile and DeleteFile functions.
MSDN说的清楚,只能是文件,而文件夹不行,MSDN要是说文件夹的话,它会特别指出来的,directory
MoveFileEx 的作用类似"剪切",在同一盘符下,用它,比用CopyFile然后再DeleteFile效率高的多,其实它就是把文件的名字给改了,比如原来的文件是c:\a.iso用它来移动到c:\a\a.iso,只是改了文件的全名,非常快。Windows的剪切文件也是这样,在同一盘符下,剪切文件,很快。但是跨盘符,就要复制再删除了。
我想问的是,这个函数有一个参数选项
MOVEFILE_COPY_ALLOWED
MSDN给出的解释是,在跨盘符的时候,用CopyFile然后再DeleteFile模拟剪切。
看MSDN这个说法,是可以跨盘符的呀,为什么我调用这个函数,只要是跨盘符,就报GetLastError为3的错,就是拒绝访问???
------解决方案--------------------
If the file is to be moved to a different volume, the function simulates the move by using the CopyFile and DeleteFile functions.
MSDN说的清楚,只能是文件,而文件夹不行,MSDN要是说文件夹的话,它会特别指出来的,directory