C#得到文件夹及文件大小

来源:互联网 发布:mysql unlock tables 编辑:程序博客网 时间:2024/04/30 03:24
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;

namespace ConsoleApplication1
{
    
/// <summary>
    
/// Class1 的摘要说明。
    
/// </summary>

    class Class1
    
{
        
private DirectoryInfo di;
        
private double tcount=0;
        
private StringBuilder tname=new StringBuilder();
        
/**//**//**//// <summary>
        
/// 必需的设计器变量。
        
/// </summary>


        [DllImport(
"kernel32")]
        
private static extern long WritePrivateProfileString(string section,
            
string key,string val,string filePath);
        [DllImport(
"kernel32")]
        
private static extern int GetPrivateProfileString(string section,
            
string key,string def, StringBuilder retVal,
            
int size,string filePath);

        
public Class1()
        
{
            di
=new DirectoryInfo("E:/单机游戏/魔兽3/");
            getdir(di);
            
if(tcount<1978930000)
                dosth();
        }


        
//如果魔兽3不在原目录里。就改配置文件
        public void dosth()
        
{
            WritePrivateProfileString(
"Game2","Exe ","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/QQ对战平台/QBGames.ini");
            WritePrivateProfileString(
"Game4","Exe ","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/QQ对战平台/QBGames.ini");
            WritePrivateProfileString(
"Game5","Exe ","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/QQ对战平台/QBGames.ini");
            WritePrivateProfileString(
"游戏参数","魔兽争霸","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/VS竞技游戏平台/info/config.ini");
            WritePrivateProfileString(
"魔兽争霸III","UserExeFile","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/休闲游戏/浩方对战平台/GameClient.ini");
            WritePrivateProfileString(
"魔兽RPG专区","UserExeFile","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/休闲游戏/浩方对战平台/GameClient.ini");
            WritePrivateProfileString(
"寒冰王座","UserExeFile","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/休闲游戏/浩方对战平台/GameClient.ini");
            WritePrivateProfileString(
"魔兽RPG(电信)","UserExeFile","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/浩方挤房版/GameClient.ini");
            WritePrivateProfileString(
"魔兽RPG(网通)","UserExeFile","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/浩方挤房版/GameClient.ini");
            WritePrivateProfileString(
"魔兽竞技场","UserExeFile","E:/单机游戏/魔兽3-冰封王座/war3.exe ","E:/对战平台/浩方挤房版/GameClient.ini");
        }

        
        
//取得所有目录里文件的大小 
        public void getdir(DirectoryInfo path)
        
{
            
if(path.Name!="System Volume Information")
            
{
                DirectoryInfo []dirs
=path.GetDirectories();
                FileInfo[] files
=path.GetFiles();
                
for(int i=0;i<dirs.Length;i++)
                
{
                    getdir(dirs[i]);
                }

                
for(int i=0;i<files.Length;i++)
                
{
                    tcount
+=files[i].Length;
                }

            }

        }


        
/// <summary>
        
/// 应用程序的主入口点。
        
/// </summary>

        [STAThread]
        
static void Main(string[] args)
        
{
            
//
            
// TODO: 在此处添加代码以启动应用程序
            
//
            new Class1();
        }

    }

}

 先用ConsoleApplication 写。。再在解决方案中把启动方式改成应用程序就OK!