c 目錄資料夾加字首名

2021-09-25 21:06:49 字數 3547 閱讀 4982

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...