当前位置:网站首页>C file and folder operation
C file and folder operation
2022-07-05 23:41:00 【Tingyi -- flying bird】
File path ==> Get the file name
Combine File path
// Get the file name
string name = System.IO.Path.GetFileName(file);
// Combined file path
string dest = System.IO.Path.Combine(destFolder, name);
Does the folder exist
Directory.Exists(folderPath);
Does the file exist
File.Exists(fileFullName);
File and folder operations
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SettingROI
{
class UtilityFile
{
// obtain Folder list
public static List<string> GetAllDir(string baseDir)
{
DirectoryInfo srcDirInfo = new DirectoryInfo(baseDir);
DirectoryInfo[] srcDirs = srcDirInfo.GetDirectories();
List<string> strSrcDirLst = new List<string>();
foreach (DirectoryInfo item in srcDirs)
{
string fileName = item.FullName;
strSrcDirLst.Add(fileName);
}
return strSrcDirLst;
}
// obtain File list
public static List<string> GetAllFileNames(string path, string pattern = "*")
{
DirectoryInfo folder = new DirectoryInfo(path);
List<string> fileNames = new List<string>();
foreach (FileInfo file in folder.GetFiles(pattern))
{
fileNames.Add(file.Name);
}
return fileNames;
}
// Copy folder
public static bool CopyFolder(string sourceFolder, string destFolder)
{
try
{
// If the target path does not exist , Then create the target path
if (!System.IO.Directory.Exists(destFolder))
{
System.IO.Directory.CreateDirectory(destFolder);
}
// Get all the files in the root directory of the original file
string[] files = System.IO.Directory.GetFiles(sourceFolder);
foreach (string file in files)
{
// Get the file name
string name = System.IO.Path.GetFileName(file);
// Combined file path
string dest = System.IO.Path.Combine(destFolder, name);
System.IO.File.Copy(file, dest);// Copy file
}
// Get all folders under the root directory of the original file
string[] folders = System.IO.Directory.GetDirectories(sourceFolder);
foreach (string folder in folders)
{
string name = System.IO.Path.GetFileName(folder);
string dest = System.IO.Path.Combine(destFolder, name);
CopyFolder(folder, dest);// Build the target path , Recursively copy files
}
return true;
}
catch (Exception e)
{
Debug.WriteLine(e.ToString());
return false;
}
}
// Delete folder
public static bool DeleteFolder(string deleteFolder)
{
try
{
if (Directory.Exists(deleteFolder))
Directory.Delete(deleteFolder, true);
}
catch (Exception e)
{
Debug.WriteLine(e.ToString());
return false;
}
return true;
}
}
}
边栏推荐
- STM32__06—单通道ADC
- el-cascader的使用以及报错解决
- STM32__ 06 - single channel ADC
- 带外和带内的区别
- Différence entre hors bande et en bande
- Bao Yan notes II software engineering and calculation volume II (Chapter 13-16)
- 698. Divided into k equal subsets ●●
- 4点告诉你实时聊天与聊天机器人组合的优势
- Spire Office 7.5.4 for NET
- 2: Chapter 1: understanding JVM specification 1: introduction to JVM;
猜你喜欢
20220703 周赛:知道秘密的人数-动规(题解)
GFS分布式文件系統
【原创】程序员团队管理的核心是什么?
Development specification: interface unified return value format [resend]
el-cascader的使用以及报错解决
Spire.PDF for NET 8.7.2
Bao Yan notebook IV software engineering and calculation volume II (Chapter 8-12)
PADS ROUTER 使用技巧小记
Rasa 3.x 学习系列-Rasa 3.2.1 新版本发布
There are 14 God note taking methods. Just choose one move to improve your learning and work efficiency by 100 times!
随机推荐
零犀科技携手集智俱乐部:“因果派”论坛成功举办,“因果革命”带来下一代可信AI
LeetCode——Add Binary
(4) UART application design and simulation verification 2 - RX module design (stateless machine)
如何提升口才
11gR2 Database Services for &quot; Policy&quot; and &quot; Administrator&quot; Managed databases (file I
Dynamic planning: robbing families and houses
Difference between out of band and in band
证明 poj 1014 模优化修剪,部分递归 有错误
[original] what is the core of programmer team management?
Spécifications techniques et lignes directrices pour la sélection des tubes TVS et ESD - Recommandation de jialichuang
There are 14 God note taking methods. Just choose one move to improve your learning and work efficiency by 100 times!
【经典控制理论】自控实验总结
(4)UART應用設計及仿真驗證2 —— TX模塊設計(無狀態機)
Go language implementation principle -- map implementation principle
Initial experience | purchase and activate typora software
GFS分布式文件系統
MySQL replace primary key delete primary key add primary key
Breadth first search open turntable lock
[Yu Yue education] NC machining technology reference materials of Shaanxi University of science and technology
Bao Yan notes II software engineering and calculation volume II (Chapter 13-16)