C#-文件只读时进行拷贝或删除报错, 对路径不允许访问
文件只读时进行拷贝报错,解决方法如下:
设置文件属性为正常 然后在进行拷贝
/// <summary>
/// 拷贝文件夹
/// </summary>
/// <param name="sourceDirectory"></param>
/// <param name="targetDirectory"></param>
public static bool DirectoryCopy(string sourceDirectory, string targetDirectory)
{
if (!Directory.Exists(sourceDirectory))
{
return false;
}
if (!Directory.Exists(targetDirectory))
{
Directory.CreateDirectory(targetDirectory);
}
DirectoryInfo sourceInfo = new DirectoryInfo(sourceDirectory);
//拷贝源路径下的文件
FileInfo[] fileInfo = sourceInfo.GetFiles();
foreach (FileInfo fiTemp in fileInfo)
{
string sSrcFilePath = String.Format("{0}\\{1}", sourceDirectory, fiTemp.Name);
string sTarFilePath = String.Format("{0}\\{1}", targetDirectory, fiTemp.Name);
//去除文件的只读属性
//System.IO.File.SetAttributes(sSrcFilePath, System.IO.FileAttributes.Normal);
FileAttributes attributes = File.GetAttributes(sSrcFilePath);
attributes = attributes & ~FileAttributes.ReadOnly;
File.SetAttributes(sSrcFilePath, attributes);</span>
File.Copy(sSrcFilePath, sTarFilePath, true);
}
//拷贝源路径下的文件夹
DirectoryInfo[] diInfo = sourceInfo.GetDirectories();
foreach (DirectoryInfo diTemp in diInfo)
{
string sourcePath = diTemp.FullName;
string targetPath = diTemp.FullName.Replace(sourceDirectory, targetDirectory);
Directory.CreateDirectory(targetPath);
DirectoryCopy(sourcePath, targetPath);
}
return true;
}
C#-文件只读时进行拷贝或删除报错, 对路径不允许访问相关推荐
- Autopep8 安装时出现的两种报错 failed to create process 和 [Errno 2] No such file or directory
Autopep8 安装时出现的两种报错 1.failed to create process 2.[Errno 2] No such file or directory 小结 关键词: autopep ...
- 蜻蜓短视频系统-文件上传之本地上传报错问题解决-蜻蜓Q蜻蜓s蜻蜓系统上传采用本地上传报错Class ‘League\Flysystem\Adapter\Local‘ not found
蜻蜓短视频系统-文件上传之本地上传报错问题解决-蜻蜓Q蜻蜓s蜻蜓系统上传采用本地上传报错 蜻蜓系统有本地上传方式和云储存上传方式,云方式比较常用是不会有错的,本地上传方式可能会遇到这样的报错. 报错1 ...
- vue 项目初始化时,npm run dev报错解决方法
vue 项目初始化时,npm run dev报错解决方法 参考文章: (1)vue 项目初始化时,npm run dev报错解决方法 (2)https://www.cnblogs.com/ruilin ...
- java exception 行号_java日志记录错误的文件_方法_行号_报错信息
1.java日志记录错误的文件.方法.行号.报错信息 StackTraceElement s= e.getStackTrace()[0]; 1.1.记录保存的文件s.getFileName() 1.2 ...
- rm删除报错 :-bash: syntax error near unexpected token `('
删除报错 :-bash: syntax error near unexpected token `(' root@ubuntu:~# rm -rf zabbix-release_4.2-1+xenia ...
- VMBox加载拷贝的vid报错E_INVALIDARG (0x80070057) Cannot register the hard disk 'D:\VMBox\win7.vdi' {7bca5a3
VMBox加载拷贝的vid报错E_INVALIDARG (0x80070057) Cannot register the hard disk 'D:\VMBox\win7.vdi' {7bca5a3e ...
- 安装Phoenix时,执行./splline.py报错File “./sqlline.py“, line 25, in <module> import phoenix_utils File
安装Phoenix时,执行./splline.py报错File "./sqlline.py", line 25, in <module> import phoenix_ ...
- idea右侧maven出现多个root根节点,删除报错:You can not remove xxxx because its imported as
idea右侧maven出现多个root根节点,删除报错:You can not remove xxxx because its imported as 问题截图: 出现这种问题后,网上查到的方法很多, ...
- java 记录错误日志文件_java日志记录错误的文件_方法_行号_报错信息
1.java日志记录错误的文件.方法.行号.报错信息 StackTraceElement s= e.getStackTrace()[0]; 1.1.记录保存的文件s.getFileName() 1.2 ...
最新文章
- PHP生成PDF并转换成图片爬过的坑
- Python中sys模块详解
- secureCRT连接问题
- 如何简单地利用Bitmap为中介储存图片到数据库中
- 一、Vmware安装Centos7虚拟机
- 关于wordpress 点击文章查看内容跳转加载失败(404)的解决方法
- ZK的实际应用:MVVM –加载和渲染数据
- Webpack实战(四):教教你如何轻松搞定-预处理器(loader)
- VMware产品支持倒计时
- MAC上使用gdb(Mac10.12未解决)
- H5 File 对象获取 Input type=file 文件详细信息
- 数据合并中pd.merge()和pd.concat()区别
- 如何判断自己外网IP是否为真实公网IP,以及解决方案
- 微信小程序----第二天(小程序 - 模板与配置)
- 安卓4.4pppoe拨号间隔及轮次修改
- Xming(windows下的X Server)的使用,在windows下运行你的终端和所有基于XWindow的程序
- Oracle Parallel Query
- css渐变写法 从左到右颜色渐变
- 共享充电宝PCBA方案开发设计
- 在开课吧的Python学习
热门文章
- php css错乱,css,html_css多行布局错乱,css,html - phpStudy
- java epoll select_最新阿里、拼多多、快手Java岗面试题269 道送答案
- 全国大学生数学建模2014年A题嫦娥三号软着陆轨道设计与控制策略论文与代码
- layuiadmin上手好难_新手如何快速上手自媒体赚钱?送你4个好建议!记得收藏
- 服务器双网卡设置安全_服务器硬件介绍之服务器主板
- 放弃 Windows 后 ,开源操作系统能成为主流桌面系统吗?
- 亮剑吧,掏出你吃灰的单片机板子。
- php yield mysql_PHP 5.5 新特性关键字 yield
- 欧姆龙plc解密实例_西门子、施耐德、欧姆龙等13大PLC品牌8000个实例程序资料包...
- python连接oracle详细教程_[宜配屋]听图阁