Directory文件夹

1、Directory是对文件夹进行的操作。

 1             //CreateDirectory:创建一个新的文件夹
 2             //Delete:删除
 3             //Move:剪切
 4             //Exist()判断指定的文件夹是否存在
 5 
 6             //if (!Directory.Exists(@"C:\Users\SpringRain\Desktop\new"))
 7             //{
 8             //    Directory.CreateDirectory(@"C:\Users\SpringRain\Desktop\new");
 9             //}
10 
11             //Console.WriteLine("操作成功");
12 
13             //for (int i = 0; i < 100; i++)
14             //{
15             //    Directory.CreateDirectory(@"C:\Users\SpringRain\Desktop\new\" + i);
16             //}
17 
18             //Console.WriteLine("创建成功");
19 
20 
21             //移动
22 
23             //Directory.Move(@"C:\Users\SpringRain\Desktop\new", @"C:\Users\SpringRain\Desktop\new2");
24             //Console.WriteLine("移动成功");
25             //Directory.Delete(@"C:\Users\SpringRain\Desktop\new2",true);
26             //Console.WriteLine("删除成功");
27             //Console.ReadKey();
View Code

2、获取某一路径下的文件夹和文件名

  string path = @"D:\Dpanwangweizhong";
            DirectoryInfo di = new DirectoryInfo(path);

            #region 用实例化DirectoryInfo的方法来 获取文件名称(两种:有路径的,没有路径的)
            FileInfo[] fitems = di.GetFiles();//获取文件名
            foreach (FileInfo f in fitems)
            {
                Console.WriteLine(f.FullName);//获取含有路径的文件全名(带后缀).如:D:\Dpanwangweizhong\新建文本文档.txt
                Console.WriteLine(f.Name);//获取文件全名(带后缀)。如:新建文本文档.txt
            }
            #endregion

            Console.WriteLine("----------------");

            #region 用实例化DirectoryInfo的方法来 获取文件夹名称
            DirectoryInfo[] ditems=  di.GetDirectories();//获取文件夹
            foreach (DirectoryInfo d in ditems)
            {
                Console.WriteLine(d.FullName);//带有路径的文件夹名称
                Console.WriteLine(d.Name);//不带路径的文件夹名称
            }
            #endregion
            #region 用Directory.GetFiles()方法获取文件名
            Console.WriteLine("+++++++++++++++++");
            string[] nameitems = Directory.GetFiles(path,"*.*");
            foreach (string n in nameitems)
            {
                Console.WriteLine(n);//获取含有路径的文件全名(带后缀).如:D:\Dpanwangweizhong\新建文本文档.txt
                Console.WriteLine(Path.GetFileName(n));////获取文件全名(带后缀)。如:新建文本文档.txt
            }
            #endregion

            #region 用Directory.GetFiles()方法获取文件夹
            Console.WriteLine("******************");
            string[] diritems = Directory.GetDirectories(path, "*.*");
            foreach (string d in diritems)
            {
                Console.WriteLine(d);//获取含有路径的文件全名(带后缀).如:D:\Dpanwangweizhong\demo
                Console.WriteLine(Path.GetFileName(d));////获取文件全名(带后缀)。如:demo
            }
            #endregion
View Code

3、利用递归获取某个文件夹下的所有文件 完整代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApp5
{
    class Program
    {
        //建立集合,接收所有的文件名
        List<string> slist = new List<string>();
        static void Main(string[] args)
        {

            string path = @"D:\aa";
            Program p = new Program();
            p.SelecrAllFile(path);
            foreach (string s in p.slist)
            {
                Console.WriteLine(s);
            }
            p.slist.Clear();
            Console.ReadKey();

        }
      /// <summary>
      /// 利用递归,把某个文件下的所有文件名读取来
      /// </summary>
      /// <param name="path">路径</param>
        public void SelecrAllFile(string path)
        {
            DirectoryInfo di;
            try
            {
                 di= new DirectoryInfo(path);
            //获取该路径下的所有文件名称
            FileInfo[] fitems = di.GetFiles();
                foreach (FileInfo f in fitems)
                    slist.Add(f.Name);   //获得文件名(不含路径),但是会有重名。f.FullName为含有路径的全名
                DirectoryInfo[] diitems = di.GetDirectories();//获得所有的文件夹
                foreach (DirectoryInfo d in diitems)
                    SelecrAllFile(d.FullName);
            }
            catch
            {
                Console.WriteLine("路径填写错误");
                return;
            }
        }


    }
}
View Code

 

转载于:https://www.cnblogs.com/wwz-wwz/p/6393447.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 VB.NET 中使用 Directory 类进行文件夹复制、剪切和粘贴的实例代码,其中每行都有注释说明: ```vb ' 复制文件夹及其所有内容 Private Sub CopyFolder(ByVal sourcePath As String, ByVal targetPath As String) ' 如果目标文件夹不存在,则创建 If Directory.Exists(targetPath) = False Then Directory.CreateDirectory(targetPath) End If ' 复制源文件夹中的所有文件到目标文件夹 For Each filePath As String In Directory.GetFiles(sourcePath) File.Copy(filePath, Path.Combine(targetPath, Path.GetFileName(filePath))) Next ' 递归复制源文件夹中的所有子文件夹到目标文件夹 For Each subFolderPath As String In Directory.GetDirectories(sourcePath) CopyFolder(subFolderPath, Path.Combine(targetPath, Path.GetFileName(subFolderPath))) Next End Sub ' 剪切文件夹及其所有内容 Private Sub MoveFolder(ByVal sourcePath As String, ByVal targetPath As String) ' 如果目标文件夹不存在,则创建 If Directory.Exists(targetPath) = False Then Directory.CreateDirectory(targetPath) End If ' 复制源文件夹中的所有文件到目标文件夹 For Each filePath As String In Directory.GetFiles(sourcePath) File.Move(filePath, Path.Combine(targetPath, Path.GetFileName(filePath))) Next ' 递归复制源文件夹中的所有子文件夹到目标文件夹 For Each subFolderPath As String In Directory.GetDirectories(sourcePath) MoveFolder(subFolderPath, Path.Combine(targetPath, Path.GetFileName(subFolderPath))) Next ' 删除源文件夹 Directory.Delete(sourcePath, True) End Sub ``` 以上代码中,`CopyFolder` 方法和 `MoveFolder` 方法分别实现了文件夹的复制和剪切操作,它们会递归地复制或剪切文件夹及其所有内容。具体使用哪种方法,取决于你的需求和个人喜好。需要注意的是,如果要删除文件夹,必须将第二个参数设置为 True,表示删除文件夹及其所有内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值