1 知識要點
1.1 修改檔名稱
string srcfilename = @"d:/a.txt";
string destfilename = @"d:/b.txt";
if (system.io.file.exists(srcfilename))
1.2 修改資料夾名稱
string srcfolderpath = @"d:/1";
string destfolderpath = @"d:/6";
if (system.io.directory.exists(srcfolderpath))
2 今天應用目錄資料夾加字首名採用b修改資料夾名稱
2.1 設計介面如下
2.2引用帶位址行類外掛程式**(folderbrowser.cs)如下
using system;
using system.componentmodel;
using system.drawing.design;
using system.runtime.interopservices;
using system.text;
using system.threading.tasks;
using system.windows.forms;
namespace test
public override object editvalue(itypedescriptorcontext context, iserviceprovider provider, object value)
", value);
}if (browser.showdialog(null) == dialogresult.ok)
return browser.directorypath;
return value;}}
#region folderbrowserdialog base
/// /// vista 樣式的選擇檔案對話方塊的基類
///
[description("提供乙個vista樣式的選擇檔案對話方塊")]
[editor(typeof(foldernameeditor), typeof(uitypeeditor))]
public class folderbrowserdialog : component
#region public property
/// /// 獲取在 folderbrowser 中選擇的資料夾路徑
///
public string directorypath
/// /// 向使用者顯示 folderbrowser 的對話方塊
///
/// 任何實現 system.windows.forms.iwin32window(表示將擁有模式對話方塊的頂級視窗)的物件。
///
public dialogresult showdialog(iwin32window owner)}}
dialog.setoptions(fos.fos_pickfolders | fos.fos_forcefilesystem);
uint hr = dialog.show(hwndowner);
if (hr == error_cancelled)
return dialogresult.cancel;
if (hr != 0)
return dialogresult.abort;
dialog.getresult(out item);
string path;
item.getdisplayname(sigdn.sigdn_filesyspath, out path);
directorypath = path;
return dialogresult.ok;
}finally
}#endregion
#region basetype
[dllimport("shell32.dll")]
private static extern int shilcreatefrompath([marshalas(unmanagedtype.lpwstr)] string pszpath, out intptr ppidl, ref uint rgflnout);
[dllimport("shell32.dll")]
private static extern int shcreateshellitem(intptr pidlparent, intptr psfparent, intptr pidl, out ishellitem ppsi);
[dllimport("user32.dll")]
private static extern intptr getactivewindow();
private const uint error_cancelled = 0x800704c7;
[comimport]
[guid("dc1c5a9c-e88a-4dde-a5a1-60f82a20aef7")]
private class fileopendialog
[comimport]
[guid("42f85136-db7e-439c-85f1-e4075d135fc8")]
[inte***cetype(cominte***cetype.inte***ceisiunknown)]
private inte***ce ifileopendialog
[comimport]
[guid("43826d1e-e718-42ee-bc55-a1e261c37bfe")]
[inte***cetype(cominte***cetype.inte***ceisiunknown)]
private inte***ce ishellitem
private enum sigdn : uint
[flags]
private enum fos
#endregion
}#endregion
}
2.3 按鈕事件
2.3.1選擇資料夾所在目錄
public static string tpml;//定義全域性變數
public static string tpml2;
private void button1_click(object sender, eventargs e)
}
效果如下
2.3.2 歷遍所有目錄
void director(string dir)
director(fsinfo.fullname);//遞迴呼叫}}
}
VB選擇資料夾並取資料夾名
如下 引用microsoft shell controls and automation dim shella as new shell private sub command1 click 建立乙個按鈕物件 dim shellb as folder set shellb shella.browse...
C 快速獲取資料夾 目錄 下的所有檔名
說起使用c 操作檔案,最常見的是當屬對單一檔案進行讀寫了,但有時我們需要乙個目錄下的所有檔案又該怎麼快速獲取呢?這個問題的難點在於如何查詢檔案目錄下的檔案及其數量,以及如何遞迴查詢目錄下的子目錄的檔案及其數量。我一下子就懵了,趕緊開啟搜尋引擎,在網際網路上找了一圈,發現核心 幾乎都是同一段 原作者已...
C 資料夾字尾名含義
bin 目錄用來存放編譯的結果,bin是二進位制binrary的英文縮寫,因為最初c編譯的程式檔案都是二進位制檔案,它有debug和release兩個版本,分別對應的資料夾為bin debug和bin release,這個資料夾是預設的輸出路徑,我們可以通過 專案屬性 配置屬性 輸出路徑來修改。ob...