使用的API:

1、DeleteFile

DeleteFileW(
_In_ LPCWSTR lpFileName
);

2、CopyFile

CopyFileW(
_In_ LPCWSTR lpExistingFileName,
_In_ LPCWSTR lpNewFileName,
_In_ BOOL bFailIfExists
);

3、MoveFile

MoveFileW(
_In_ LPCWSTR lpExistingFileName,
_In_ LPCWSTR lpNewFileName
);

示例代码:

#include<windows.h>
#include<stdio.h> int main(int argc, PTCHAR argv[]) {
/*
删除文件 api.exe -d 文件路径
复制文件 api.exe -c 路径1 路径2
移动/重命名文件 api.exe -m 路径1 路径2
*/ if (0 == lstrcmp(L"-d", argv[1]) && argc == 3) { // 满足条件是否是 第二个参数为-d 并且 命令行参数的个数为3 该函数结束的两个值都是为LPCWSTR if (!DeleteFile(argv[2])) { //unicode的时候 接收的值为 LPCWSTR
printf("删除成功 \n");
}
else {
printf("删除失败 \n");
} }else if (0 == lstrcmp(L"-c", argv[1]) && argc == 4) {
if (!CopyFile(argv[2], argv[3], true)) { //第三个参数为true那么文件如果已经存在则不进行覆盖
//复制失败,其中一种可能是存在文件同名,copyfile 返回值为0x50
if (getchar() == 'y') {
if (!CopyFile(argv[2], argv[3], false)) { //第三个参数为false那么文件如果已经存在则直接覆盖
printf("文件复制失败");
}else {
printf("文件复制成功");
}
}
}else
printf("文件复制成功! \n");
}else if (0 == lstrcmp(L"-m", argv[1]) && argc == 4) {
//进行移动/重命名文件的操作
if (!MoveFile(argv[2],argv[3])) { //movefile 和 copyfile api 参数的数据类型一样,用法也类似
printf("文件移动成功! \n");
}else {
printf("文件移动失败! \n");
}
}else {
printf("参数错误! 请重新输入");
} system("pause");
return 0; }

实现:创建/复制/移动文件API的更多相关文章

  1. 无法在“EntityFramework”已存在的情况下创建影像复制该文件的解决方案

    问题产生的原因:你项目正在生成中你就打开浏览器预览了,导致这个问题解决方案:右击重新生成项目,等生成后再打开 “/”应用程序中的服务器错误. 无法在“EntityFramework”已存在的情况下创建 ...

  2. Linux_文件及文件夹[创建][复制][移动][删除][重命名]

    一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语   法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录&g ...

  3. Phabricator API Go 创建task/提交文件到Phabricator

    Go Phabricator API 代码/程序创建task/提交文件到Phabricator Creat Task or upload file to phabricator with code i ...

  4. Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)

    在这篇文章中 创建API帮助页面 将帮助页面添加到现有项目 添加API文档 在敞篷下 下一步 作者:Mike Wasson 创建Web API时,创建帮助页面通常很有用,以便其他开发人员知道如何调用A ...

  5. java多线程实现复制大文件

    有些开发的时候我们经常遇到这样一个问题,对大文件的处理.比如:日志文件.那么十几G的大文件.我们应该如何复制呢? 还有就是希望从本地和远程复制文件,文件都很大,10G级的如何办呢? 在这里我告诉你们, ...

  6. 使用RMAN创建复制数据库

    我的实验环境: - 源数据库A机: RHEL6.4 + Oracle 11.2.0.4 IP地址:192.168.99.159 db_name=oradb 数据库已正常运行 - 复制数据库B机: RH ...

  7. phoenix 开发API系列(一)创建简单的http api

    安装 phoenix framework 安装 phoenix 很简单: mix archive.install https://github.com/phoenixframework/archive ...

  8. Filestream复制视频文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  9. java 20 -10 字节流四种方式复制mp3文件,测试效率

    电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...

随机推荐

  1. 045 用户登录功能01----JWT和后台代码

    (1)有状态登录概述 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session. 例如登录:用户登录后,我们把登录者 ...

  2. Java基础知识点总结(一)

    1.源文件声明规则2.JAVA基本类型void3.数据类型默认值4.自动类型转换5.Java变量类型6.Java局部变量7.访问控制修饰符8.父类与子类的访问控制9.instanceof运算符 1.源 ...

  3. Python将背景图片的颜色去掉

    一.问题  在使用图片的时候有时候我们希望把背景变成透明的,这样就只关注于图片本身.比如在连连看中就只有图片,而没有背景,其实我个人感觉有背景好看一点. 二.解决  我们需要使用RGBA(Red,Gr ...

  4. 【mysql】获取某个表所有列名【mybatis】

    方法1:[仅指定表名] select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your-table-name'; ...

  5. asp.net core mvc 集成miniprofiler

    原文:asp.net core mvc 集成miniprofiler asp.net core mvc 集成miniprofiler 一.环境介绍 二.监控asp.net 页面 三.监控执行的sql语 ...

  6. c#创建windows服务(代码方式安装、启动、停止、卸载服务)

    转载于:https://www.cnblogs.com/mq0036/p/7875864.html 一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NE ...

  7. Centos7安装Tomcat7,并上传JavaWeb项目

    一.需要的工具(其他连接工具也行) 1.Xshell 2.XFTP 1.1首先将Tomcat7的压缩文件利用XFTP上传到Centos7系统上的 /etc/local/tomcat中 1.2 解压文件 ...

  8. 记一次Spring boot集成mybatis错误修复过程 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

    最近自己写了一份代码签入到github,然后拉下来运行报下面的错误 Error starting ApplicationContext. To display the conditions repor ...

  9. 剑指前端(前端入门笔记系列)——DOM(属性节点)

    DOM(属性节点) 属性节点没有过参加家族关系中,其专用选择器:attributes,返回值为对象的形式,它的键是索引值,也就是用对象模拟了一个伪数组,DOM中选择器返回的都是伪数组(可以使用数组的形 ...

  10. PHP extension_loaded()用法

    一.extension_loaded()函数表示检查一个扩展是否成功加载 if(!extension_loaded('sysvmsg')) { echo "Please install sy ...