MoveFile和DeleteFile使用方法

MoveFile是文件重命名,或是移动目录

BOOL MoveFile(LPCTSTR lpExistingFileName, // file name
LPCTSTR lpNewFileName // new file name);

返回值:
执行成功返回非零值
执行失败返回零值

参数:
1.LPCSTR lpExistingFilename //要改名的文件
2.LPCSTR lpNewFilename //将要改名的目标文件

DeleteFile 删除一个文件

BOOL DeleteFile(LPCSTR lpFileName//要删除的文件名的指针);

返回值:
执行成功返回非零值
执行失败返回零值

参数:
LPCSTR lpFileName //是要删除的文件
如果要删除的文件不存在,则报错。GetLastError()返回 ERROR_FILE_NOT_FOUND
如果文件的属性是只读的,则报错。GetLastError()返回 ERROR_ACCESS_DENIED

#include 
#include 

int main(int argc,LPTSTR argv[])
{
	int index = 0;
	if(argc < 3)
	{
		printf("程序使用方法:%s /d filename1 ...\n",argv[0]);
		printf("%s /m filename_src filename_dest\n",argv[0]);
		return 1;
	}

	if(!lstrcmp(argv[1],"/d") || !lstrcmp(argv[1],"/D"))
	{
		for(index = 2;index < argc;index++)
		{
			if(!DeleteFile(argv[index]))
			{
				if(GetLastError() == ERROR_FILE_NOT_FOUND)
				{
					printf("%s 文件不存在!\n",argv[index]);
					return 2;
				}
				else if(GetLastError() == ERROR_ACCESS_DENIED)
				{
					printf("%s 文件只读属性!\n",argv[index]);
					return 3;
				}
				else
				{
					printf("%s 文件删除成功\n",argv[index]);
				}
			}
		}
	}
	else if(!lstrcmp(argv[1],"/M") || !lstrcmp(argv[1],"/m"))
	{
		if(MoveFile(argv[2],argv[3]))
		{
			printf("%s 文件移动到 %s \n",argv[2],argv[3]);
		}
		else
		{
			printf("发生错误,错误代码为:%s\n",GetLastError());
			return 4;
		}
	}
	return 0;
}

你可能感兴趣的:(win32,API)