找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 6889|回复: 0

C# 扫描目录文件,带进度信息

[复制链接]
发表于 2021-5-26 15:06:47 | 显示全部楼层 |阅读模式
本帖最后由 Gin_Q 于 2021-5-26 15:22 编辑
  1. using System;
  2. using System.Threading.Tasks;
  3. using System.IO;

  4. class Program
  5. {
  6.     static void Main()
  7.     {
  8.         string WorkPath = Directory.GetCurrentDirectory();
  9.         string ResultFileName = "文件名_大小.txt";
  10.         DirectoryInfo di = new DirectoryInfo(WorkPath);
  11.         long TotalFileNumber = 0;
  12.         Task ScanFileTask;
  13.         ScanFileTask = Task.Run(
  14.             async () =>
  15.             {
  16.                 using (StreamWriter sw = new StreamWriter(ResultFileName, false, System.Text.Encoding.Default))
  17.                 {
  18.                     foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
  19.                     {
  20.                         TotalFileNumber++;
  21.                         await sw.WriteLineAsync(String.Format("{0} : {1:0.00}MB", Path.Combine(fi.DirectoryName, fi.Name), (double)fi.Length / 1048576));
  22.                     }            
  23.                 }
  24.             }
  25.         );
  26.         Task.Run(
  27.             () =>
  28.             {
  29.                 while (ScanFileTask.Status != TaskStatus.RanToCompletion)
  30.                 {
  31.                     Console.Write("已经扫描过 {0} 个文件\r",TotalFileNumber);
  32.                     if (ScanFileTask.Status == TaskStatus.Faulted)
  33.                     {
  34.                         Console.Write("本次扫描发生了错误!{0}", ScanFileTask.Exception);
  35.                         break;
  36.                     }
  37.                 }
  38.             }
  39.         ).Wait();
  40.         Console.Write("本次扫描完成!发现 {0} 个文件",TotalFileNumber);
  41.         Console.ReadLine();
  42.     }
  43. }
复制代码

评分

参与人数 1技术 +1 收起 理由
523066680 + 1 斯国一

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:14 , Processed in 0.018088 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表