Windows 文件操作 — 其它文件操作

1.拷贝文件
拷贝文使用CopyFile或CopyFileEx

invoke CopyFile,lpExistingFileName,lpNewFileName,bFailIfExists

函数将lpExistingFileName指定文件拷贝为lpNewFileName指定的文件
bFailIfExists指定目标存在时的动作,指定为TRUE,拷贝失败;指定为FALSE则覆盖掉原来的文件,拷贝出来的新文件的属性和原来文件的属性一样
CopyFileEx函数可以完成同样的功能,只不过函数可以指定一个回调函数.

2.移动文件
移动文件使用MoveFile或MoveFileEx

invoke MoveFile,lpExistingFileName,lpNewFileName

将lpExistingFileName指定的文件移动到lpNewFileName指定的目标位置,文件名可以同时改变或不改变,目标文件必须不存在,否则函数调用失败.当函数执行成功的时候返回非0值,否则函数返回0
注意:MoveFile函数可以移动文件或目录.当移动一个文件时,源文件和目标文件可以处于不同的驱动器上
当移动对象是一个文件夹时,源目录与目标目录必须在一个驱动器上

invoke MoveFileEx,lpExistingFileName,lpNewFileName,dwFlags

MoveFileEx函数增加了一个dwFlags参数来时行移动控制,参数可以是下面取值的组合
MOVEFILE_COPY_ALLOWED:允许拷贝数据,如果不指定,文件不能移动到不同的驱动器上,不能与REBOOT同时使用
MOVEFILE_DELAY_UNTIL_REBOOT:在Winnt上执行时,函数在下一次启动时再进行移动操作
MOVEFILE_REPLACE_EXISTING:如果目标存在,将它替换掉(与MoveFile相比的优点)
MoveFileEx还有个特殊用法

invoke MoveFileEx,lpExistingFileName,NULL,MOVEFILE_DELAY_UNTIL_REBOOT

将在下一次启动时将lpExistingFileName指定的文件删除(Win95不支持)

3.删除文件
删除文件使用DeleteFile函数

invoke DeleteFile,lpFileName

lpFileName指向一个包含要删除文件名的字符串.在Win95下执行时,可以删除打开状态的文件,在NT下执行,不能对一个打开的文件进行删除.

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注