1. 程式人生 > >C# 選擇檔案、選擇資料夾、開啟檔案(或者資料夾) 路徑中獲取檔案全路徑、目錄、副檔名、檔名稱 追加、拷貝、刪除、移動檔案、建立目錄 修改檔名、資料夾名!!

C# 選擇檔案、選擇資料夾、開啟檔案(或者資料夾) 路徑中獲取檔案全路徑、目錄、副檔名、檔名稱 追加、拷貝、刪除、移動檔案、建立目錄 修改檔名、資料夾名!!

https://www.cnblogs.com/zhlziliaoku/p/5241097.html

1、選擇檔案用OpenDialog

複製程式碼
OpenFileDialog dialog = new OpenFileDialog();
dialog.Multiselect = true;//該值確定是否可以選擇多個檔案
dialog.Title = "請選擇資料夾"; dialog.Filter = "所有檔案(*.*)|*.*"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string file = dialog.FileName; }
複製程式碼 複製程式碼
Filter 屬性 賦值為一字串 用於過濾檔案型別;
字串說明如下:
‘|’分割的兩個,一個是註釋,一個是真的Filter,顯示出來的是那個註釋。如果要一次顯示多中型別的檔案,用分號分開。
如:
Open1.Filter="圖片檔案(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp"; 則過濾的檔案型別為 “|”號 右邊的 *.jpg;*.gif;*.bmp 三種類型檔案,在OpenDialog/SaveDialog中顯示給使用者看的檔案型別字串則是 :“|”號 左邊的 圖片檔案(*.jpg,*.gif,*.bmp)。 再如: Open1.Filter="影象檔案(*.jpg;*.jpg;*.jpeg;*.gif;*.png)|*.jpg;*.jpeg;*.gif;*.png";
複製程式碼

2、使用System.Windows.Forms.FolderBrowserDialog選擇資料夾

複製程式碼
System.Windows.Forms.FolderBrowserDialog dialog =new System.Windows.Forms.FolderBrowserDialog();
dialog.Description = "請選擇Txt所在資料夾"; if (dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK ) { if (string.IsNullOrEmpty(dialog.SelectedPath)) { System.Windows.MessageBox.Show(this, "資料夾路徑不能為空", "提示"); return; } this.LoadingText = "處理中..."; this.LoadingDisplay = true; Action<string> a = DaoRuData; a.BeginInvoke(dialog.SelectedPath,asyncCallback, a); }
複製程式碼

3、直接開啟某路徑下的檔案或者資料夾

 System.Diagnostics.Process.Start("ExpLore", "C:\\window");





https://www.cnblogs.com/Zero0602/p/6961656.html

C#追加檔案
    StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
    sw.WriteLine("追逐理想");
    sw.WriteLine("kzlll");
    sw.WriteLine(".NET筆記");
    sw.Flush();
    sw.Close();
C#拷貝檔案
    string OrignFile,NewFile;
    OrignFile = Server.MapPath(".")+"\\myText.txt";
    NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
    File.Copy(OrignFile,NewFile,true);
C#刪除檔案
    string delFile = Server.MapPath(".")+"\\myTextCopy.txt";
    File.Delete(delFile);
C#移動檔案
    string OrignFile,NewFile;
    OrignFile = Server.MapPath(".")+"\\myText.txt";
    NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
    File.Move(OrignFile,NewFile);
C#建立目錄
// 建立目錄c:\sixAge
    DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge");
// d1指向c:\sixAge\sixAge1
    DirectoryInfo d1=d.CreateSubdirectory("sixAge1");
// d2指向c:\sixAge\sixAge1\sixAge1_1
    DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1");
// 將當前目錄設為c:\sixAge
    Directory.SetCurrentDirectory("c:\\sixAge");
// 建立目錄c:\sixAge\sixAge2
    Directory.CreateDirectory("sixAge2");
// 建立目錄c:\sixAge\sixAge2\sixAge2_1
    Directory.CreateDirectory("sixAge2\\sixAge2_1");
遞迴刪除資料夾及檔案

 
    • 〈%@PageLanguage=C#%〉  
    • 〈%@Importnamespace="System.IO"%〉  

    • 〈Scriptrunat=server〉  

    • publicvoidDeleteFolder(stringdir)  

    • {  

    • if(Directory.Exists(dir))//如果  

    • 存在這個資料夾刪除之  

    • {  

    • foreach(stringdinDirectory.  

    • GetFileSystemEntries(dir))  

    • {  

    • if(File.Exists(d))  

    • File.Delete(d);//直接刪除其中的檔案  

    • else 

    • DeleteFolder(d);//遞迴刪除子資料夾  

    • }  

    • Directory.Delete(dir);//刪除已空資料夾  

    • Response.Write(dir+"資料夾刪除成功");  

    • }  

    • else 

    • Response.Write(dir+"該資料夾不存在");//如果  

    • 資料夾不存在則提示  

    • }  

    • protectedvoidPage_Load(Object  

    • sender,EventArgse)  

    • {  

    • stringDir="D:\\gbook\\11";  

    • DeleteFolder(Dir);//呼叫函式刪除資料夾  

    • }  

    •  

    •  

    • //========================================  

    • //實現一個靜態方法將指定資料夾下面的所有內容copy到目標資料夾下面  

    • //如果目標資料夾為只讀屬性就會報錯。

    • //========================================  

    • publicstaticvoidCopyDir(stringsrcPath,  

    • stringaimPath)  

    • {  

    • try  

    • {  

    • //檢查目標目錄是否以目錄分割字  

    • 符結束如果不是則新增之  

    • if(aimPath[aimPath.Length-1]!=  Path.DirectorySeparatorChar)  

    • aimPath+=Path.DirectorySeparatorChar;  

    • //判斷目標目錄是否存在如果不存在則新建之  

    • if(!Directory.Exists(aimPath))Directory.CreateDirectory(aimPath);  

    • //得到源目錄的檔案列表,  

    • 該裡面是包含檔案以及目錄路徑的一個數組  

    • //如果你指向copy目標檔案下面的檔案  

    • 而不包含目錄請使用下面的方法  

    • //string[]fileList=Directory.GetFiles(srcPath);  

    • string[]fileList=Directory.GetFileSystemEntries(srcPath);  

    • //遍歷所有的檔案和目錄  

    • foreach(stringfileinfileList)  

    • {  

    • //先當作目錄處理如果存在這個  

    • 目錄就遞迴Copy該目錄下面的檔案  

    • if(Directory.Exists(file))  

    • CopyDir(file,aimPath+Path.GetFileName(file));  

    • //否則直接Copy檔案  

    • else 

    • File.Copy(file,aimPath+Path.GetFileName(file),true);  

    • }  

    • }  

    • catch(Exceptione)  

    • {  

    • MessageBox.Show(e.ToString());  

    • }  

    • }  

    • //========================================  

    • //實現一個靜態方法將指定資料夾下面的所有內容Detele  

    • //測試的時候要小心操作,刪除之後無法恢復。  

    • //========================================  

    • publicstaticvoidDeleteDir(stringaimPath)  

    • {  

    • try  

    • {  

    • //檢查目標目錄是否以目錄分割字  

    • 符結束如果不是則新增之  

    • if(aimPath[aimPath.Length-1]!=  

    • Path.DirectorySeparatorChar)  

    • aimPath+=Path.DirectorySeparatorChar;  

    • //得到源目錄的檔案列表,  

    • 該裡面是包含檔案以及目錄路徑的一個數組  

    • //如果你指向Delete目標檔案下面的  

    • 檔案而不包含目錄請使用下面的方法  

    • //string[]fileList=  

    • Directory.GetFiles(aimPath);  

    • string[]fileList=  

    • Directory.GetFileSystemEntries(aimPath);  

    • //遍歷所有的檔案和目錄  

    • foreach(stringfileinfileList)  

    • {  

    • //先當作目錄處理如果存在這個  

    • 目錄就遞迴Delete該目錄下面的檔案  

    • if(Directory.Exists(file))  

    • {  

    • DeleteDir(aimPath+Path.GetFileName(file));  

    • }  

    • //否則直接Delete檔案  

    • else 

    • {  

    • File.Delete(aimPath+Path.GetFileName(file));  

    • }  

    • }  

    • //刪除資料夾  

    • System.IO.Directory.Delete(aimPath,true);  

    • }  

    • catch(Exceptione)  

    • {  

    • MessageBox.Show(e.ToString());  

    • }  

    • }  

    •  

    • 需要引用名稱空間:  

    • usingSystem.IO;  

    • ///〈summary〉  

    • ///拷貝資料夾(包括子資料夾)到指定資料夾下,  

    • 原始檔夾和目標資料夾均需絕對路徑.  

    • 格式:CopyFolder(原始檔夾,目標資料夾);  

    • ///〈/summary〉  

    • ///〈paramname="strFromPath"〉〈/param〉  

    • ///〈paramname="strToPath"〉〈/param〉  

    •  

    • //----------------------------------------  

    •  
       

    • //----------------------------------------  

    • publicstaticvoidCopyFolder(stringstrFromPath,  

    • stringstrToPath)  

    • {  

    • //如果原始檔夾不存在,則建立  

    • if(!Directory.Exists(strFromPath))  

    • {  

    • Directory.CreateDirectory(strFromPath);  

    • }  

    •  

    • //取得要拷貝的資料夾名  

    • stringstrFolderName=strFromPath.Substring(  

    • strFromPath.LastIndexOf("\")+1,strFromPath.  

    • Length-strFromPath.LastIndexOf("\")-1);  

    •  

    • //如果目標資料夾中沒有原始檔夾則在目標資料夾中建立原始檔夾  

    • if(!Directory.Exists(strToPath+"\" 

    • +strFolderName))  

    • {  

    • Directory.CreateDirectory(strToPath+"\" 

    • +strFolderName);  

    • }  

    • //建立陣列儲存原始檔夾下的檔名  

    • string[]strFiles=Directory.GetFiles(strFromPath);  

    •  

    • //迴圈拷貝檔案  

    • for(inti=0;i〈strFiles.Length;i++)  

    • {  

    • //取得拷貝的檔名,只取檔名,地址截掉。  

    • stringstrFileName=strFiles[i].Substring(  

    • strFiles[i].LastIndexOf("\")+1,  

    • strFiles[i].Length-strFiles[i].  

    • LastIndexOf("\")-1);  

    • //開始拷貝檔案,true表示覆蓋同名檔案  

    • File.Copy(strFiles[i],strToPath+"\" 

    • +strFolderName+"\"+strFileName,true);  

    • }  

    •  

    • //建立DirectoryInfo例項  

    • DirectoryInfodirInfo=newDirectoryInfo(  

    • strFromPath);  

    • //取得原始檔夾下的所有子資料夾名稱  

    • DirectoryInfo[]ZiPath=dirInfo.GetDirectories();  

    • for(intj=0;j〈ZiPath.Length;j++)  

    • {  

    • //獲取所有子資料夾名  

    • stringstrZiPath=strFromPath+"\"+  

    • ZiPath[j].ToString();  

    • //把得到的子資料夾當成新的原始檔夾,  

    • 從頭開始新一輪的拷貝  

    • CopyFolder(strZiPath,strToPath+"\"+  

    • strFolderName);  

    • }  

    • }  

      • C#檔案操作:讀取文字檔案

      • 1/// 〈summary〉  

      • 2/// 讀取文字檔案  

      • 3/// 〈/summary〉  

      • 4private void ReadFromTxtFile()  

      • 5{  

      • 6    if(filePath.PostedFile.  

      • FileName != "")  

      • 7    {  

      • 8    txtFilePath =  

      • filePath.PostedFile.FileName;  

      • 9    fileExtName =   

      • txtFilePath.Substring(txtFilePath.  

      • LastIndexOf(".")+1,3);  

      • 10  

      • 11   if(fileExtName !="txt" &&   

      • fileExtName != "TXT")  

      • 12   {  

      • 13   Response.Write("請選擇文字檔案");  

      • 14   }  

      • 15   else 

      • 16   {  

      • 17   StreamReader fileStream =   

      • new StreamReader(txtFilePath,Encoding.Default);  

      • 18   txtContent.Text = fileStream.ReadToEnd();  

      • 19   fileStream.Close();  

      • 20   }  

      • 21   }  

      • 22 } 

      • C#檔案操作:獲取檔案列表

      • 1/// 〈summary〉  

      • 2/// 獲取檔案列表  

      • 3/// 〈/summary〉  

      • 4private void GetFileList()  

      • 5{  

      • 6  string strCurDir,FileName,FileExt;  

      • 7      

      • 8    ///檔案大小  

      • 9    long FileSize;  

      • 10      

      • 11    ///最後修改時間;  

      • 12    DateTime FileModify;  

      • 13  

      • 14    ///初始化  

      • 15    if(!IsPostBack)  

      • 16    {  

      • 17  ///初始化時,預設為當前頁面所在的目錄  

      • 18     strCurDir = Server.MapPath(".");  

      • 19     lblCurDir.Text = strCurDir;  

      • 20     txtCurDir.Text = strCurDir;  

      • 21    }  

      • 22    else 

      • 23    {  

      • 24     strCurDir = txtCurDir.Text;  

      • 25     txtCurDir.Text = strCurDir;  

      • 26     lblCurDir.Text = strCurDir;  

      • 27    }  

      • 28    FileInfo fi;  

      • 29    DirectoryInfo dir;  

      • 30    TableCell td;  

      • 31    TableRow tr;  

      • 32    tr = new TableRow();  

      • 33      

      • 34    ///動態新增單元格內容  

      • 35    td = new TableCell();  

      • 36    td.Controls.Add(new LiteralControl(  

      • "檔名"));  

      • 37    tr.Cells.Add(td);  

      • 38    td = new TableCell();  

      • 39    td.Controls.Add(new LiteralControl( "檔案型別"));  

      • 40    tr.Cells.Add(td);  

      • 41    td = new TableCell();  

      • 42    td.Controls.Add(new LiteralControl( "檔案大小"));  

      • 43    tr.Cells.Add(td);  

      • 44    td = new TableCell();  

      • 45    td.Controls.Add(new LiteralControl( "最後修改時間"));  

      • 46    tr.Cells.Add(td);  

      • 47  

      • 48    tableDirInfo.Rows.Add(tr);  

      • 49      

      • 50    ///針對當前目錄建立目錄引用物件  

      • 51    DirectoryInfo dirInfo = new DirectoryInfo( txtCurDir.Text);  

      • 52      

      • 53    ///迴圈判斷當前目錄下的檔案和目錄  

      • 54    foreach(FileSystemInfo fsi in dirInfo.  

      • GetFileSystemInfos())  

      • 55    {  

      • 56      FileName = "";  

      • 57      FileExt = "";  

      • 58      FileSize = 0;  

      • 59          

      • 60      ///如果是檔案  

      • 61      if(fsi is FileInfo)  

      • 62      {  

      • 63      fi = (FileInfo)fsi;  

      • 64              

      • 65      ///取得檔名  

      • 66      FileName = fi.Name;  

      • 67              

      • 68     ///取得檔案的副檔名  

      • 69     FileExt = fi.Extension;  

      • 70              

      • 71    ///取得檔案的大小  

      • 72    FileSize = fi.Length;  

      • 73              

      • 74   ///取得檔案的最後修改時間  

      • 75   FileModify = fi.LastWriteTime;  

      • 76   }  

      • 77  

      • 78   ///否則是目錄  

      • 79   else 

      • 80    {  

      • 81    dir = (DirectoryInfo)fsi;  

      • 82              

      • 83     ///取得目錄名  

      • 84     FileName = dir.Name;  

      • 85              

      • 86     ///取得目錄的最後修改時間  

      • 87     FileModify = dir.LastWriteTime;  

      • 88              

      • 89     ///設定檔案的副檔名為"資料夾" 

      • 90    FileExt = "資料夾";  

      • 91     }  

      • 92          

      • 93    ///動態新增表格內容  

      • 94        tr = new TableRow();  

      • 95        td = new TableCell();  

      • 96        td.Controls.Add(new LiteralControl( FileName));  

      • 97        tr.Cells.Add(td);  

      • 98        td = new TableCell();  

      • 99        td.Controls.Add(new LiteralControl( FileExt));  

      • 100        tr.Cells.Add(td);  

      • 101        td = new TableCell();  

      • 102        td.Controls.Add(new LiteralControl( FileSize.ToString()+"位元組"));  

      • 103        tr.Cells.Add(td);  

      • 104        td = new TableCell();  

      • 105        td.Controls.Add(new LiteralControl( FileModify.ToString("yyyy-mm-dd hh:mm:ss")));  

      • 106        tr.Cells.Add(td);  

      • 107        tableDirInfo.Rows.Add(tr);  

      • 108    }  

      • 109} 

      • C#檔案操作:讀取日誌檔案

      • 1/// 〈summary〉  

      • 2/// 讀取日誌檔案  

      • 3/// 〈/summary〉  

      • 4private void ReadLogFile()  

      • 5{  

      • 6    ///從指定的目錄以打 開或者建立的形式讀取日誌檔案  

      • 7    FileStream fs =   

      • new FileStream(Server.MapPath("upedFile" 

      • )+"\\logfile.txt", FileMode.OpenOrCreate,   

      • FileAccess.Read);  

      • 8  

      • 9    ///定義輸出字串  

      • 10    StringBuilder output = new StringBuilder();  

      • 11      

      • 12    ///初始化該字串的長度為0  

      • 13    output.Length = 0;  

      • 14      

      • 15    ///為上面建立的檔案流建立讀取資料流  

      • 16    StreamReader read = new StreamReader(fs);  

      • 17      

      • 18    ///設定當前流的起始位置為檔案流的起始點  

      • 19    read.BaseStream.Seek(0, SeekOrigin.Begin);  

      • 20      

      • 21    ///讀取檔案  

      • 22    while (read.Peek() 〉 -1)   

      • 23    {  

      • 24        ///取檔案的一行內容並換行  

      • 25        output.Append(read.ReadLine() + "\n");  

      • 26    }  

      • 27      

      • 28    ///關閉釋放讀資料流  

      • 29    read.Close();  

      • 30      

      • 31    ///返回讀到的日誌檔案內容  

      • 32    return output.ToString();  

      •  

      •  

      • C#檔案操作:寫入日誌檔案

      • 1/// 〈summary〉  

      • 2/// 寫入日誌檔案  

      • 3/// 〈/summary〉  

      • 4/// 〈param name="input"〉〈/param〉  

      • 5private void WriteLogFile(string input)  

      • 6{      

      • 7    ///指定日誌檔案的目錄  

      • 8    string fname = Server.MapPath("upedFile") + "\\logfile.txt";  

      • 9    ///定義檔案資訊物件  

      • 10    FileInfo finfo = new FileInfo(fname);  

      • 11  

      • 12    ///判斷檔案是否存在以及是否大於2K  

      • 13    if ( finfo.Exists && finfo.Length 〉 2048 )  

      • 14    {  

      • 15        ///刪除該檔案  

      • 16        finfo.Delete();  

      • 17    }  

      • 18    ///建立只寫檔案流  

      • 19   using(FileStream fs = finfo.OpenWrite())  

      • 20    {  

      • 21   ///根據上面建立的檔案流建立寫資料流  

      • 22   StreamWriter w = new StreamWriter(fs);  

      • 23          

      • 24    ///設定寫資料流的起始位置為檔案流的末尾  

      • 25   w.BaseStream.Seek(0, SeekOrigin.End);  

      • 26          

      • 27    ///寫入“Log Entry : ”  

      • 28    w.Write("\nLog Entry : ");  

      • 29          

      • 30   ///寫入當前系統時間並換行  

      • 31    w.Write("{0} {1} \r\n", DateTime.Now.  

      • ToLongTimeString(),  

      • 32     DateTime.Now.ToLongDateString());  

      • 33          

      • 34    ///寫入日誌內容並換行  

      • 35    w.Write(input + "\n");  

      • 36          

      • 37    ///寫入----------------“並換行  

      • 38    w.Write("------------------\n");  

      • 39          

      • 40  ///清空緩衝區內容,並把緩衝區內容寫入基礎流  

      • 41   w.Flush();  

      • 42          

      • 43        ///關閉寫資料流  

      • 44        w.Close();  

      • 45    }  

      • 46} 

      • C#檔案操作:建立HTML檔案

      • 1/// 〈summary〉  

      • 2/// 建立HTML檔案  

      • 3/// 〈/summary〉  

      • 4private void CreateHtmlFile()  

      • 5{      

      • 6    ///定義和html標記數目一致的陣列  

      • 7    string[] newContent = new string[5];  

      • 8    StringBuilder strhtml =   

      • new StringBuilder();  

      • 9    try   

      • 10    {  

      • 11    ///建立StreamReader物件  

      • 12    using (StreamReader sr =   

      • new StreamReader(Server.MapPath("createHTML") + "\\template.html"))   

      • 13        {  

      • 14     String oneline;  

      • 15              

      • 16     ///讀取指定的HTML檔案模板  

      • 17     while ((oneline = sr.ReadLine())   

      • != null)   

      • 18     {  

      • 19     strhtml.Append(oneline);  

      • 20            }  

      • 21     sr.Close();  

      • 22        }  

      • 23    }  

      • 24    catch(Exception err)  

      • 25    {  

      • 26        ///輸出異常資訊  

      • 27        Response.Write(err.ToString());  

      • 28    }  

      • 29    ///為標記陣列賦值  

      • 30    newContent[0] = txtTitle.Text;//標題  

      • 31    newContent[1] = "BackColor='#cccfff'";//背景色  

      • 32    newContent[2] = "#ff0000";//字型顏色  

      • 33    newContent[3] = "100px";//字型大小  

      • 34    newContent[4] = txtContent.Text;//主要內容  

      • 35  

      • 36    ///根據上面新的內容生成html檔案  

      • 37    try  

      • 38    {  

      • 39    ///指定要生成的HTML檔案  

      • 40    string fname = Server.MapPath( "createHTML") +"\" + DateTime.Now.ToString(  

      • "yyyymmddhhmmss") + ".html";  

      • 41          

      • 42   ///替換html模版檔案裡的標記為新的內容  

      • 43   for(int i=0;i 〈 5;i++)  

      • 44   {  

      • 45    strhtml.Replace("$htmlkey["+i+"]",newContent[i]);  

      • 46    }  

      • 47    ///建立檔案資訊物件  

      • 48    FileInfo finfo = new FileInfo(fname);  

      • 49          

      • 50    ///以開啟或者寫入的形式建立檔案流  

      • 51    using(FileStream fs = finfo.OpenWrite())  

      • 52   {  

      • 53    ///根據上面建立的檔案流建立寫資料流  

      • 54  StreamWriter sw = new StreamWriter(fs,System.  

      • Text.Encoding.GetEncoding("GB2312"));  

      • 55              

      • 56   ///把新的內容寫到建立的HTML頁面中  

      • 57   sw.WriteLine(strhtml);  

      • 58   sw.Flush();  

      • 59   sw.Close();  

      • 60   }  

      • 61          

      • 62   ///設定超級連結的屬性  

      • 63  hyCreateFile.Text = DateTime.Now.ToString("yyyymmddhhmmss")+".html";  

      • 64  hyCreateFile.NavigateUrl = "  

      • createHTML/"+DateTime.Now.ToString(" yyyymmddhhmmss")+".html";65    }  

      • 66    catch(Exception err)  

      • 67    {   

      • 68        Response.Write (err.ToString());  

      • 69    }  

      •  }  

    • CreateDirectory方法的使用
      using System;
      using System.IO;

      class Test
      {
        public static void Main()
        {
          // Specify the directory you want to manipulate.
          string path = @"c:\MyDir";

          try
          {
            // Determine whether the directory exists.
            if (Directory.Exists(path))
            {
              Console.WriteLine("That path exists already.");
              return;
            }

            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(path);
            Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));

            // Delete the directory.
            di.Delete();
            Console.WriteLine("The directory was deleted successfully.");
          }
          catch (Exception e)
          {
            Console.WriteLine("The process failed: {0}", e.ToString());
          }
          finally {}
        }
      }





http://www.cnblogs.com/JiYF/p/6879139.html
//獲取當前執行程式的目錄 7 string fileDir = Environment.CurrentDirectory; 8 Console.WriteLine("當前程式目錄:"+fileDir); 9 10 //一個檔案目錄 11 string filePath = "C:\\JiYF\\BenXH\\BenXHCMS.xml"; 12 Console.WriteLine("該檔案的目錄:"+filePath); 13 14 string str = "獲取檔案的全路徑:" + Path.GetFullPath(filePath); //-->C:\JiYF\BenXH\BenXHCMS.xml 15 Console.WriteLine(str); 16 str = "獲取檔案所在的目錄:" + Path.GetDirectoryName(filePath); //-->C:\JiYF\BenXH 17 Console.WriteLine(str); 18 str = "獲取檔案的名稱含有後綴:" + Path.GetFileName(filePath); //-->BenXHCMS.xml 19 Console.WriteLine(str); 20 str = "獲取檔案的名稱沒有後綴:" + Path.GetFileNameWithoutExtension(filePath); //-->BenXHCMS 21 Console.WriteLine(str); 22 str = "獲取路徑的字尾副檔名稱:" + Path.GetExtension(filePath); //-->.xml 23 Console.WriteLine(str); 24 str = "獲取路徑的根目錄:" + Path.GetPathRoot(filePath); //-->C:\ 25 Console.WriteLine(str); 26 Console.ReadKey();


https://blog.csdn.net/u012785169/article/details/51125029

  private static void copyFiles(string srcFolder, string destFolder)
    {
        DirectoryInfo directoryInfo = new DirectoryInfo(srcFolder);
        FileInfo[] files = directoryInfo.GetFiles();
         
        foreach (FileInfo file in files) // Directory.GetFiles(srcFolder)
        {
            if (file.Extension == ".jpg")
            {
                file.CopyTo(Path.Combine(destFolder, file.Name)); //複製 ,剪下的話file.MoveTo();
            }
            // will move all files without if stmt
            //file.MoveTo(Path.Combine(destFolder, file.Name));
        }
    }
 
    // test demo
    static void Main(string[] args)
    {
        string src = "E:\\test\\src";
        string dest = "E:\\test\\dest";
      
        copyFiles(src, dest); // src -> dest
        Console.WriteLine("image copy finished!");
        Console.ReadLine();
         
    }