COMPUTER_LZY

要输就输给追求,要嫁就嫁给幸福

导航

风场数据转换批处理程序笔记

功能:

  1.  生成配置文件Init.dat;
  2. 将生成在UV文件夹下的所有文件拷贝到另一个新建的文件夹中
  3. 调用mcf.exe

生成Init.dat文件:

public void generateText(string date)
        {
            string poem = "89.5403,32.5997\n";
            poem += @"D:\project\MCF\Wind\"+date+"\\"+"\n";
            poem += date+"000.txt\n";
            poem+=@"D:\project\MCF\MCF\input\";
            StreamWriter generateTxt = new StreamWriter(@"D:\project\MCF\MCF\Init.dat"false);
            generateTxt.Write(poem);
            generateTxt.Close();
        }

 调用mcf.exe:

  System.Diagnostics.ProcessStartInfo info = new ProcessStartInfo();
            info.FileName = textBox1.Text;
            info.WorkingDirectory = "D:\\project\\MCF\\MCF\\";
            info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;

 string date = dirinfo.Name;
                string dir = dirinfo.FullName;
                generateText(date);

               
                System.Diagnostics.Process pro;
                try
                {
                    pro = System.Diagnostics.Process.Start(info);

                }
                catch (Exception)
                {

                    throw;
                }

 获取文件的绝对路径:

OpenFileDialog open = new OpenFileDialog();
            open.InitialDirectory = "D:\\project\\MCF\\MCF";
            open.Filter="All File(*.*)|*.*|exe File(*.exe)|*.exe";
            if(open.ShowDialog()==DialogResult.OK)
                textBox1.Text=open.FileName;

 获取文件夹的绝对路径:

FolderBrowserDialog folder = new FolderBrowserDialog();
            if (folder.ShowDialog() == DialogResult.OK)
                textBox2.Text = folder.SelectedPath;

递归拷贝一个文件夹的所有文件:

  /// <summary>
        
/// 递归拷贝一个文件夹的所有文件
        
/// </summary>
        
/// <param name="olddirectory"></param>
        
/// <param name="newdirectory"></param>
        
/// <param name="dir"></param>
        protected void CopyAll(string olddirectory, string newdirectory, string dir)
        {
            if (!Directory.Exists(newdirectory))
                {
                    Directory.CreateDirectory(newdirectory);
                }
            DirectoryInfo dis = new DirectoryInfo(dir.Length > 0 ? (dir) : (olddirectory));
            FileInfo[] files = dis.GetFiles();
            foreach (FileInfo fi in files)
            {

                try
                {
                    //拷贝文件
                    File.Copy(fi.FullName, string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));

                }
                catch (Exception ex)
                {
                    try
                    {
                        File.Delete(string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));
                    
                        File.Copy(fi.FullName, string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));
                    }
                    catch
                    {

                    }
                }


            }
            if (dis.GetDirectories().Length > 0)
            {
                for (int i = 0; i < dis.GetDirectories().Length; i++)
                {
                    //创建目录
                    string tempNewPath = string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), dis.GetDirectories()[i].Name);
                    if (!Directory.Exists(tempNewPath))
                        Directory.CreateDirectory(tempNewPath);
                    CopyAll(olddirectory, newdirectory, dis.GetDirectories()[i].FullName);
                }
            }
        }

 删除文件夹下的所有文档:

 /// <summary>
        
/// 删除文件夹下的所有文档
        
/// </summary>
        
/// <param name="path"></param>
        protected void DeleteFiles(string path)
        {
            DirectoryInfo di = new DirectoryInfo(path);
            FileInfo[] fis = di.GetFiles();
            foreach (FileInfo fi in fis)
            {
                try
                {
                    fi.Delete();
                }
                catch
                {
                    continue;
                }
            }

        }

 下载源码

posted on 2011-10-25 13:05  CANYOUNG  阅读(473)  评论(0编辑  收藏  举报