实现:创建/复制/移动文件API
使用的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的更多相关文章
- 无法在“EntityFramework”已存在的情况下创建影像复制该文件的解决方案
问题产生的原因:你项目正在生成中你就打开浏览器预览了,导致这个问题解决方案:右击重新生成项目,等生成后再打开 “/”应用程序中的服务器错误. 无法在“EntityFramework”已存在的情况下创建 ...
- Linux_文件及文件夹[创建][复制][移动][删除][重命名]
一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语 法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录&g ...
- Phabricator API Go 创建task/提交文件到Phabricator
Go Phabricator API 代码/程序创建task/提交文件到Phabricator Creat Task or upload file to phabricator with code i ...
- Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)
在这篇文章中 创建API帮助页面 将帮助页面添加到现有项目 添加API文档 在敞篷下 下一步 作者:Mike Wasson 创建Web API时,创建帮助页面通常很有用,以便其他开发人员知道如何调用A ...
- java多线程实现复制大文件
有些开发的时候我们经常遇到这样一个问题,对大文件的处理.比如:日志文件.那么十几G的大文件.我们应该如何复制呢? 还有就是希望从本地和远程复制文件,文件都很大,10G级的如何办呢? 在这里我告诉你们, ...
- 使用RMAN创建复制数据库
我的实验环境: - 源数据库A机: RHEL6.4 + Oracle 11.2.0.4 IP地址:192.168.99.159 db_name=oradb 数据库已正常运行 - 复制数据库B机: RH ...
- phoenix 开发API系列(一)创建简单的http api
安装 phoenix framework 安装 phoenix 很简单: mix archive.install https://github.com/phoenixframework/archive ...
- Filestream复制视频文件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- java 20 -10 字节流四种方式复制mp3文件,测试效率
电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...
随机推荐
- SpringBoot 基础(二)
目录 SpringBoot基础(二) 一.操作数据库 1. SpringBootJdbc 2. SpringBoot 整合 Mybatis 3. SpringBott 使用JPA 二.使用 Thyme ...
- 如何用Python制作优美且功能强大的数据可视化图像
第一个案例 首先开始来绘制你的第一个图表 from pyecharts import Bar '''遇到不懂的问题?Python学习交流群:1004391443满足你的需求,资料都已经上传群文件,可以 ...
- FusionInsight大数据开发---SparkStreaming概述
SparkStreaming概述 SparkStreaming是Spark核心API的一个扩展,它对实时流式数据的处理具有可扩展性.高吞吐量.可容错性等特点. SparkStreaming原理 Spa ...
- Weyland-Energy 说明
Weyland-Energy 说明 品名:Weyland-Energy 大脑能量补充剂功能:提神.提高注意力服用方法:建议饭后1颗,一天1次或者2次,间隔4-6小时,一天不要超过4片. 成分:每2颗含 ...
- Scheduling Tasks
官方文档 https://spring.io/guides/gs/scheduling-tasks/ 官方文档详细介绍了@Scheduled中fixedRate,fixedDelay,cron的用法 ...
- C#将异常信息添加到日志
C#将程序抛出的异常信息添加到错误日志 错误日志是软件用来记录运行时出错信息的文本文件.编程人员和维护人员等可以利用错误日志对系统进行调试和维护. 为程序添加错误日志的好处是当程序有运行错误时,根据错 ...
- java开发中,一些小的JS应用
js中打开一个新窗口的方法: 1.window.location.href=“url” 2.jbox.win(); 3.window.open(); js无任何提示的关闭弹出的页面: window.o ...
- 关于DataX
1. 关于DataX 1.1. 前言 为什么写这篇文章,因为初出茅庐的时候,曾经遇到的一个面试官就是DataX的作者之一,而当时我还偏偏因为业务需求做了个数据库的同步工具,我当时不知道他做过这么专业的 ...
- RxJS——主题(Subject)
主题(Subjects) 什么是主题?RxJS 主题就是一个特性类型的 Observable 对象,它允许值多路广播给观察者(Observers).当一个简单的 Observable 是单播的(每个订 ...
- 李代数E8 的根系 python绘图
安装前需安装依赖:(针对Centos7) yum install -y cairo pip install cairocffi 源代码:https://github.com/neozhaoliang/ ...