shlwapi.dll中的實用api函式發布
在windows system目錄下有這個動態鏈結庫
#include "shlwapi.h"
#pragma comment(lib,"shlwapi.lib")
bool pathfileexists(lpctstr lpszpath)
功能:檢查檔案/路徑是否存在
lptstr pathfindfilename(lpctstr ppath)
功能:獲得路徑中的檔名
例如: pathfindfilename( 「c:\\program files\\file.txt」 ) = 「file.txt」。
如果路徑中不包含檔名,則返回值是最下面的目錄名。
lptstr pathfindextension(lpctstr ppath)
功能:獲取路徑或檔名中的副檔名
例如:pathfindextension( 「file.txt」 ) = 「.txt」
lptstr pathfindnextcomponent(lpctstr pszpath)
例如:pathfindnextcomponent( 「c:\\program files\\directory」 ) = 「program files\\
directory」
pathfindnextcomponent( 「c:\\program files」 ) = 「program files」
bool pathfindonpath( in out lptstr pszfile , in lpctstr * ppszotherdirs)
功能:在指定的目錄中尋找檔案。
引數:
pszfile 要尋找的檔名,確保 pszfile 有足夠的大小來容納 max_path 個字元。如果能找到指定的檔案,該引數將返回檔案的全路徑。
ppszotherdirs 該引數是首先要尋找的目錄列表,它可以為null,如果為null,函式將在系統目錄,當前目錄和由path設定的目錄中查詢。
lptstr pathgetargs(lpctstr pszpath)
功能:從路徑中分析引數
例如:lptstr pszparam = pathgetargs( 「notepad.exe c:\\temp.txt」 )
pszparam 返回 「c:\\temp.txt」
int pathgetdrivenumber(lpctstr lpsz)
功能:從路徑中分析碟符
返回值:成功返回 0 –25 ,代表(a – z),失敗返回 –1
bool pathiscontenttype(lpctstr pszpath,lpctstr pszcontenttype)
功能:檢查檔案是否為指定的contenttype
例如:pathiscontenttype( 「hello.txt」 , 「text/plain」 ) 返回true
pathiscontenttype( 「hello.txt」 , 「image/gif」 ) 返回false
bool pathisdirectory(lpctstr pszpath)
功能:檢查路徑是否為有效目錄。注意路徑不能包含檔名
bool pathisfilespec(lpctstr lpszpath)
功能:檢查路徑中是否帶有 『:』 和 『\』 分隔符
bool pathishtmlfile(lpctstr pszfile)
功能:檢查是否為html檔案
bool pathisprefix(in lpctstr pszprefix,in lpctstr pszpath)
功能:檢查路徑是否包含指定字首,字首如:」碟符:\\」 、「..\\」 、」.\\」
pathisprefix ( 「c:\\」 , 「c:\\hello.txt」 ) 返回 true
bool pathisrelative(lpctstr lpszpath)
功能:檢查路徑是否是相對路徑
bool pathisroot(lpctstr ppath)
功能:檢查路徑是否是根目錄
bool pathissameroot(lpctstr pszpath1,lpctstr pszpath2);
功能:比較兩個路徑是否在同一碟符
bool pathisunc(lpctstr pszpath );
功能:判斷路徑是否是unc格式
bool pathisurl(in lpctstr pszpath );
功能:判斷路徑是否是url
bool pathmatchspec( lpctstr pszfileparam,lpctstr pszspec)
功能:用帶有萬用字元(*號和?號)的字串去比較另乙個字串
例如:pathmatchspec( 「 , 「*sina.com*」 ) 返回true
pathmatchspec( 「c:\\hello.txt」 , 「*.txt」 ) 返回true
void pathremoveargs(lptstr pszpath);
功能:刪除路徑中帶有的引數
lptstr pathremovebackslash(lptstr lpszpath);
功能:刪除路徑結尾多餘的』\』符號
void pathremoveblanks(lptstr lpszstring);
功能:刪除字串頭尾的空格
void pathremoveextension( lptstr pszpath);
功能:刪除路徑後面的副檔名
bool pathremovefilespec( lptstr pszpath);
功能:刪除路徑後面的檔名和』\』符號。該函式可以分析出乙個檔案的路徑。
例:szpath = 「c:\\windows\\system32\\nt.dll」 ;
呼叫pathremovefilespec( szpath ) 後,szpath = 「c:\\windows\\system32」
bool pathrenameextension( in out lptstr pszpath,lpctstr pszext);
功能:替換路徑後面的副檔名,如果pszpath後面不帶副檔名,則新的副檔名會被新增上去。
pszpath pszpath至少需要max_path個字元的空間
pszext 新的副檔名,必需包含 . 號
void pathstrippath(lptstr pszpath );
功能:從路徑中分析出檔名
例: pathstrippath( 「c:\\test\\hello.txt」 ) => hello.txt
bool pathstriptoroot( lptstr szroot );
功能:從路徑中分析出碟符
void pathunquotespaces( lptstr lpsz );
功能:從帶引號的路徑中取出路徑
例:szpath = 「\」c:\\program files\」」
pathunquotespaces( szpath ) => szpath = 「c:\\program files」
附另一路徑相關函式,由imagehlp提供
bool searchtreeforfile(
in lpstr rootpath,
in lpstr inputpathname,
out lpstr outputpathbuffer
);功能:從指定目錄樹中尋找檔案
extractfilepath()
功能:返回完整檔名中的路徑
函式原型如下:
ansistring __fastcall extractfilepath;
extractfilepath和相近函式:
extractfiledrive :返回完整檔名中的驅動器,如"c:"
extractfilepath:返回完整檔名中的路徑,最後帶「/」,如"c:\test\"
extractfiledir:返回完整檔名中的路徑,最後不帶「/」 ,如"c:\test"
extractfilename:返回完整檔名中的檔名稱 (帶副檔名),如"mytest.doc"
extractfileext 返回完整檔名中的副檔名(帶.),如".doc"
extractfiledir //這個沒有最後的 \
extractfilepath //這個最後有 \
expandfilename()
另外附遞迴建立目錄原始碼:
#include #pragma comment("shell32.lib")
python的常用路徑操作函式
使用python經常會遇到與檔案處理相關的問題,與檔案相關的操作自然離不開檔案路徑的處理。在python的os.path模組中提供了一些與檔案路徑處理相關的函式。返回檔案的路徑和檔名,返回的檔名與使用basename 返回的檔名一樣。dirname,filename os.path.split ho...
php操作檔案的函式,php常用檔案操作函式彙總
這裡蒐集了大量的php中檔案操作函式如有檔案開啟,建立,刪除,更變組,讀取寫檔案,檔案上傳以及開啟遠端檔案,把內容寫入檔案等例項.fp fopen test.txt r 以唯讀方式開啟檔案,將檔案指標指向檔案頭 fp fopen test.txt r 以讀寫方式開啟檔案,將檔案指標指向檔案頭 fp ...
python路徑操作常用方法
由於經常用python寫指令碼,將路徑操作的一些api做了總結,方便以後查詢 usr bin python coding utf 8 import os import sys import shutil python路徑操作整理 遞迴遍歷資料夾 deflistfiles dirpath fileli...