當前位置:首頁 » 文件管理 » c獲取指定文件夾路徑

c獲取指定文件夾路徑

發布時間: 2022-05-23 02:57:40

『壹』 C# 獲取系統文件夾路徑

樓主 這里有篇別人寫的文章 看下對你有用沒。
系統特殊文件夾是包含公共信息的文件夾,如「Program Files」、「Programs」、「System」或「Startup」。特殊文件夾在默認情況下由系統設置,或者由用戶在安裝 Windows 的某個版本時顯式進行設置。

Environment.GetFolderPath 方法
獲取指向由指定枚舉標識的系統特殊文件夾的路徑。

命名空間:System
public static string GetFolderPath ( SpecialFolder folder )

參數
folder 標識系統特殊文件夾的枚舉常數。如下:

ApplicationData 目錄,它用作當前漫遊用戶的應用程序特定數據的公共儲存庫。
漫遊用戶在網路上的多台計算機上工作。漫遊用戶的配置文件保存在網路伺服器上,當用戶登錄到某個系統上時,它會載入到該系統。

CommonApplicationData 目錄,它用作所有用戶使用的應用程序特定數據的公共儲存庫。
CommonProgramFiles 用於應用程序間共享的組件的目錄。
Cookies 用作 Internet Cookie 的公共儲存庫的目錄。
Desktop 邏輯桌面,而不是物理文件系統位置。
DesktopDirectory 用於物理上存儲桌面上的文件對象的目錄。
不應將此目錄與桌面文件夾本身混淆,後者是虛擬文件夾。

Favorites 用作用戶收藏夾項的公共儲存庫的目錄。
History 用作 Internet 歷史記錄項的公共儲存庫的目錄。
InternetCache 用作 Internet 臨時文件的公共儲存庫的目錄。
LocalApplicationData 目錄,它用作當前非漫遊用戶使用的應用程序特定數據的公共儲存庫。
MyComputer 「我的電腦」文件夾。
MyMusic 「My Music」文件夾。
MyPictures 「My Pictures」文件夾。
Personal 用作文檔的公共儲存庫的目錄。
ProgramFiles 「Program files」目錄。
Programs 包含用戶程序組的目錄。
Recent 包含用戶最近使用過的文檔的目錄。
SendTo 包含「發送」菜單項的目錄。
StartMenu 包含「開始」菜單項的目錄。
Startup 對應於用戶的「啟動」程序組的目錄。
每當用戶登錄、啟動 Windows NT 或更高版本或啟動 Windows 98 時,系統均會啟動這些程序。

System 「System」目錄。
Templates 用作文檔模板的公共儲存庫的目錄。

返回值
如果指定系統的特殊文件夾實際存在於您的計算機上,則為到該文件夾的路徑;否則為空字元串 ("")。 如果系統未創建文件夾、已刪除現有文件夾,或者文件夾是不對應物理路徑的虛擬目錄(例如「我的電腦」),則該文件夾不會實際存在。

例子:

String Path=Environment.GetFolderPath(Environment.SpecialFolder.Favorites);//返回收藏夾位置

『貳』 c#中怎麼獲得當前路徑

網站中可以在類文件中用絕對方式訪問Server對象、Session、Response、Request等對象:

System.Web.HttpContext.Current.Server.MapPath()
System.Web.HttpContext.Current.Session
System.Web.HttpContext.Current.Response
System.Web.HttpContext.Current.Request
補充:
1、判定一個給定的路徑是否有效,合法
通過Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法獲得非法的路徑/文件名字元,可以根據它來判斷路徑中是否包含非法字元;

2、如何確定一個路徑字元串是表示目錄還是文件
使用Directory.Exists或File.Exist方法,如果前者為真,則路徑表示目錄;如果後者為真,則路徑表示文件
上面的方法有個缺點就是不能處理那些不存在的文件或目錄。這時可以考慮使用Path.GetFileName方法獲得其包含的文件名,如果一個路徑不為空,而文件名為空那麼它表示目錄,否則表示文件;
3、獲得路徑的某個特定部分
Path.GetDirectoryName :返回指定路徑字元串的目錄信息。
Path.GetExtension :返回指定的路徑字元串的擴展名。
Path.GetFileName :返回指定路徑字元串的文件名和擴展名。
Path.GetFileNameWithoutExtension :返回不具有擴展名的路徑字元串的文件名。
Path.GetPathRoot :獲取指定路徑的根目錄信息。
4、准確地合並兩個路徑而不用去擔心那個煩人的「\」字元
使用Path.Combine方法,它會幫你處理煩人的「\」。
5、獲得系統目錄的路徑
Environment.SystemDirectory屬性:獲取系統目錄的完全限定路徑
Environment.GetFolderPath方法:該方法接受的參數類型為Environment.SpecialFolder枚舉,通過這個方法可以獲得大量系統 文件夾的路徑,如我的電腦,桌面,系統目錄等
Path.GetTempPath方法:返回當前系統的臨時文件夾的路徑
6、判斷一個路徑是絕對路徑還是相對路徑
使用Path.IsPathRooted方法
7、讀取或設置當前目錄
使用Directory類的GetCurrentDirectory和SetCurrentDirectory方法
8、使用相對路徑
設置當前目錄後(見上個問題),就可以使用相對路徑了。對於一個相對路徑,我們可以使用Path.GetFullPath方法獲得它的完 全限定路徑(絕對路徑)。
注意:如果打算使用相對路徑,建議你將工作目錄設置為各個交互文件的共同起點,否則可能會引入一些不易發現的安全隱患,被惡意用戶利用來訪問系統文件。

9、文件夾瀏覽對話框(FolderBrowserDialog類)
主要屬性: Description:樹視圖控制項上顯示的說明文本,如上圖中的「選擇目錄--練習」;RootFolder:獲取或設置從其開始瀏覽的根文件夾,如上圖中設置的我的電腦(默認為桌面);SelectedPath:獲取或設置用戶選定的路徑,如果設置了該屬性,打開對話框時會定位到指定路徑,默認為根文件夾,關閉對話框時根據該屬性獲取用戶用戶選定的路徑; ShowNewFolderButton:獲取或設置是否顯示新建對話框按鈕;
主要方法: ShowDialog:打開該對話框,返回值為DialogResult類型值,如果為DialogResult.OK,則可以由SelectedPath屬性獲取用戶選定的路徑;
=====================================================================

1. System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName-獲取模塊的完整路徑。

2.System.Environment.CurrentDirectory-獲取和設置當前目錄(該進程從中啟動的目錄)的完全限定目錄。

3.System.IO.Directory.GetCurrentDirectory()-獲取應用程序的當前工作目錄。這個不一定是程序從中啟動的目錄,有可能程序放在C:\xxx里,這個函數有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有時不一定返回什麼。

4.System.AppDomain.CurrentDomain.BaseDirectory-獲取程序的基目錄。

5.System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase-獲取和設置包括該應用程序的目錄的名稱。

6. System.Windows.Forms.Application.StartupPath-獲取啟動了應用程序的可執行文件的路徑。效果和2、5一樣。只是5返回的字元串後面多了一個"\"而已

7.System.Windows.Forms.Application.ExecutablePath-獲取啟動了應用程序的可執行文件的路徑及文件名,效果和1一樣。對於Windows程序 和Web 應用程序來說,他們運行的路徑是不一樣的,所以關鍵是判斷當前運行的程序是哪種程序.於是我們可以使用如下的代碼

string path = "";

if (System.Environment.CurrentDirectory ==AppDomain.CurrentDomain.BaseDirectory)//Windows應用程序則相等

...{path = AppDomain.CurrentDomain.BaseDirectory;

}else...{path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";

}這樣如果我們寫了一個類庫,類庫中用到了Assembly.LoadFrom,由於是通用類庫,所以可能用到Windows程序中也可能用到Web中,那麼用上面的代碼就很方便了.

1、Server.MapPath

2、System.Windows.Forms.StartupPath

3、Type.Assembly.Location方法2可以應用於控制台應用程序,WinForm應用程序,Windows服務,方法1可以應用於Web應用程序,方法3都可以應用。但方法3是載入應用程序的路徑。如果是Web應用程序,取得的路徑是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目錄。所以Web項目還是使用Server.MapPath吧。否則建議使用方法2。如果自己新建類庫。可以加入對System.Windows.Forms.StartupPath的引用後使用。

『叄』 C# 如何查找指定文件夾 並獲得它的路徑

樓主自己建一個應用程序,拖2個TEXTBOX,再拖一個按鈕
自己在把下面的代碼加到程序里就好了

然後再文本中自己查找指定文件夾
不過不用寫硬碟的路徑 比如:我c盤下有個文件夾叫WINDOWS
那文本中我就直接寫WINDOWS就行了
如果你d盤下有個 我的文檔 就直接寫 我的文檔
當然 想改也很容易 你自己可以試試哈 希望能幫到你

string[] str1=new string[]{"c:/","d:/","e:/","f:/","g:/","h:/"};
bool tr,fa;
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < str1.Length; i++){
if (System.IO.Directory.Exists(str1[i] + textBox1.Text))
{ tr = true; MessageBox.Show(str1[i] + "下 有這個"); }
else {fa = false;MessageBox.Show (str1[i] + "下 沒有");}
}
}

//str1[i] + textBox1.Text 這個是路徑 祝你好運

『肆』 C#如何實現獲得一個文件夾的路徑

總結C#獲取當前路徑的7種方法
C#獲取當前路徑的方法如下:
1. System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName
-獲取模塊的完整路徑。
2. System.Environment.CurrentDirectory
-獲取和設置當前目錄(該進程從中啟動的目錄)的完全限定目錄。
3. System.IO.Directory.GetCurrentDirectory()
-獲取應用程序的當前工作目錄。這個不一定是程序從中啟動的目錄啊,有可能程序放在C:\www里,這個函數有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有時不一定返回什麼東東,我也搞不懂了。
4. System.AppDomain.CurrentDomain.BaseDirectory
-獲取程序的基目錄。
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
-獲取和設置包括該應用程序的目錄的名稱。
6. System.Windows.Forms.Application.StartupPath
-獲取啟動了應用程序的可執行文件的路徑。效果和2、5一樣。只是5返回的字元串後面多了一個"\"而已
7. System.Windows.Forms.Application.ExecutablePath
-獲取啟動了應用程序的可執行文件的路徑及文件名,效果和1一樣。

『伍』 c語言問題 已知某一路徑,如何得到該路徑下的某一文件夾的路徑

#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <io.h>

#define MAX_FILE_PATH_LEN 128
#define INVALID_HANDLE -1

int main()
{
char aucFilePath[MAX_FILE_PATH_LEN + 1] = {0};
char aucTempPath[MAX_FILE_PATH_LEN + 1] = {0};
char *pFilePath = NULL;
int iDirNum = 0;
int iFileNum = 0;

_finddata_t finddata = {0};
long findhandle = INVALID_HANDLE;

//獲取當前目錄,也可以做入參傳入aucFilePath
pFilePath = getcwd(aucFilePath, MAX_FILE_PATH_LEN);
if (NULL == pFilePath)
{
printf("get current working directory fail, \n"
"errno = %d, errro description : %s\n", errno, strerror(errno));
getchar();
return -1;
}

printf("current working directory = %s\n", aucFilePath);
strncpy(aucTempPath, aucFilePath, strlen(aucFilePath));
strncat(aucTempPath, "\\*", MAX_FILE_PATH_LEN);

findhandle = _findfirst(aucTempPath, &finddata);
if(findhandle != INVALID_HANDLE)
{
do {
if(finddata.attrib & _A_SUBDIR)
{
if ((0 != strcmp(finddata.name, ".")) && (0 != strcmp(finddata.name, "..")))
{
//子目錄個數
iDirNum++;
printf("sub directory name = %s, path = %s\\%s, iDirNum = %d\n",
finddata.name, aucFilePath, finddata.name, iDirNum);
}
}
else
{
//子文件個數
iFileNum++;
printf("file = %s, iFileNum = %d\n", finddata.name, iFileNum);
}
}while(0 == _findnext(findhandle, &finddata));
_findclose(findhandle);
}

getchar();
return 0;
}

『陸』 c語言讀取文件的路徑怎麼設定

//獲取指定目錄下的所有文件列表 author:wangchangshaui jlu
char** getFileNameArray(const char *path, int* fileCount)
{
int count = 0;
char **fileNameList = NULL;
struct dirent* ent = NULL;
DIR *pDir;
char dir[512];
struct stat statbuf;

//打開目錄
if ((pDir = opendir(path)) == NULL)
{
myLog("Cannot open directory:%s\n", path);
return NULL;
}
//讀取目錄
while ((ent = readdir(pDir)) != NULL)
{ //統計當前文件夾下有多少文件(不包括文件夾)
//得到讀取文件的絕對路徑名
snprintf(dir, 512, "%s/%s", path, ent->d_name);
//得到文件信息
lstat(dir, &statbuf);
//判斷是目錄還是文件
if (!S_ISDIR(statbuf.st_mode))
{
count++;
}
} //while
//關閉目錄
closedir(pDir);
// myLog("共%d個文件\n", count);

//開辟字元指針數組,用於下一步的開辟容納文件名字元串的空間
if ((fileNameList = (char**) myMalloc(sizeof(char*) * count)) == NULL)
{
myLog("Malloc heap failed!\n");
return NULL;
}

//打開目錄
if ((pDir = opendir(path)) == NULL)
{
myLog("Cannot open directory:%s\n", path);
return NULL;
}
//讀取目錄
int i;
for (i = 0; (ent = readdir(pDir)) != NULL && i < count;)
{
if (strlen(ent->d_name) <= 0)
{
continue;
}
//得到讀取文件的絕對路徑名
snprintf(dir, 512, "%s/%s", path, ent->d_name);
//得到文件信息
lstat(dir, &statbuf);
//判斷是目錄還是文件
if (!S_ISDIR(statbuf.st_mode))
{
if ((fileNameList[i] = (char*) myMalloc(strlen(ent->d_name) + 1))
== NULL)
{
myLog("Malloc heap failed!\n");
return NULL;
}
memset(fileNameList[i], 0, strlen(ent->d_name) + 1);
strcpy(fileNameList[i], ent->d_name);
myLog("第%d個文件:%s\n", i, ent->d_name);
i++;
}
} //for
//關閉目錄
closedir(pDir);

*fileCount = count;
return fileNameList

『柒』 C語言如何讀取指定路徑下的所有指定格式的文件

用C語言讀取目錄中的文件名的方法:
1、如果是在window環境下,可以用一下方法:
使用stdlib.h頭文件聲明的system()函數
_CRTIMP int __cdecl system (const char*);
system("dir c:\ /a:h /b > c:\dir.txt");
調用系統命令dir,把c:目錄下文件列表寫入文件dir.txt中

2、使用dirent.h頭文件中聲明的opendir(),readdir()函數;

intmain(intargc,char*argv[])
{
DIR*directory_pointer;
structdirent*entry;

if((directory_pointer=opendir("d:\XL"))==NULL)
printf("Erroropening ");
else
{
while((entry=readdir(directory_pointer))!=NULL)
{
printf("%s ",entry->d_name);
}
closedir(directory_pointer);

}
system("PAUSE");
return0;
}

3、如果沒有dirent.h,可以使用io.h頭文件中聲明的_findfirst(),_findnext()函數;
示例代碼:

intmain(intargc,char*argv[])
{
longfile;
struct_finddata_tfind;

_chdir("d:\");
if((file=_findfirst("*.*",&find))==-1L)
{
printf("空白! ");
exit(0);
}
printf("%s ",find.name);
while(_findnext(file,&find)==0)
{
printf("%s ",find.name);
}
_findclose(file);

system("PAUSE");
return0;
}

『捌』 C#如何獲得文件夾的路徑

1. System.Diagnostics.Process.GetCurrentProcess().MainMole.FileName
-獲取模塊的完整路徑。
2.System.Environment.CurrentDirectory
-獲取和設置當前目錄(該進程從中啟動的目錄)的完全限定目錄。
3.System.IO.Directory.GetCurrentDirectory()
-獲取應用程序的當前工作目錄。這個不一定是程序從中啟動的目錄啊,
4.System.AppDomain.CurrentDomain.BaseDirectory
-獲取程序的基目錄。
5.System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
-獲取和設置包括該應用程序的目錄的名稱。
6. System.Windows.Forms.Application.StartupPath
-獲取啟動了應用程序的可執行文件的路徑。效果和2、5一樣。只是5返回的字元串後面多了一個"\"而已
7.System.Windows.Forms.Application.ExecutablePath
-獲取啟動了應用程序的可執行文件的路徑及文件名,效果和1一樣。

對於Windows程序 和Web 應用程序來說,他們運行的路徑是不一樣的,所以關鍵是判斷當前運行的程序是哪種程序.於是我們可以使用如下的代碼
string path = "";
if (System.Environment.CurrentDirectory ==AppDomain.CurrentDomain.BaseDirectory)//Windows應用程序則相等
...{
path = AppDomain.CurrentDomain.BaseDirectory;
}
else
...{
path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";
}
這樣如果我們寫了一個類庫,類庫中用到了Assembly.LoadFrom,由於是通用類庫,所以可能用到Windows程序中也可能用到Web中,那麼用上面的代碼就很方便了.
1、Server.MapPath
2、System.Windows.Forms.StartupPath
3、Type.Assembly.Location
方法2可以應用於控制台應用程序,WinForm應用程序,Windows服務,方法1可以應用於Web應用程序,方法3都可以應用。
但方法3是載入應用程序的路徑。如果是Web應用程序,取得的路徑是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目錄。所以Web項目還是使用Server.MapPath吧。否則建議使用方法2。如果自己新建類庫。可以加入對System.Windows.Forms.StartupPath的引用後使用

『玖』 C語言怎麼讀取某一文件夾下的所有文件夾和文件

讀取的代碼方式如下:

int main()

{

long file;

struct _finddata_t find;

_chdir("d:\");

if((file=_findfirst("*.*", &find))==-1L)

{

printf("空白! ");

exit(0);

}

printf("%s ", find.name);

while(_findnext(file, &find)==0)

{

printf("%s ", find.name);

}

_findclose(file);

return 0;

}

熱點內容
滬江網校安卓怎麼倍速播放 發布:2024-05-16 23:19:25 瀏覽:398
支付寶怎麼設置登陸密碼怎麼設置密碼 發布:2024-05-16 23:18:07 瀏覽:835
為什麼修改wifi密碼後無法加入 發布:2024-05-16 23:03:04 瀏覽:738
車機安卓未知來源在設置哪裡 發布:2024-05-16 22:31:48 瀏覽:795
紅包邀請驗證碼在哪裡填安卓手機 發布:2024-05-16 22:30:01 瀏覽:643
上傳日上限 發布:2024-05-16 22:26:08 瀏覽:860
c語言基本概念 發布:2024-05-16 21:44:16 瀏覽:190
sqlserver跨庫查詢 發布:2024-05-16 21:36:56 瀏覽:164
sql多表連接語句 發布:2024-05-16 21:21:53 瀏覽:301
sqlscope 發布:2024-05-16 21:17:37 瀏覽:966