通配符查找 指定目錄下文件的過程:
10多年的靈山網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整靈山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“靈山網(wǎng)站設(shè)計(jì)”,“靈山網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
--查找指定文件夾(目錄)下的文件。 ALTER PROCEDURE [FileS].[DIR_FileS] @Path nvarchar(1000) --搜索路徑。 --表示【文件夾路徑】必須以'\'結(jié)尾; --表示【文件路徑】不能以\結(jié)尾。(文件名可帶通配符) ,@FileS nvarchar(MAX) OUTPUT --返回 找到的 文件名串 ,@Depth int=1 --搜索[文件夾]深度。不為1,將搜索[子文件夾]。0全部目錄,1 第一級目錄,2 第二級目錄 依此類推 ,@FG nvarchar(10)=NULL --文件名串的 分隔符;默認(rèn)char(13) AS BEGIN SET NOCOUNT ON; SET @FG=ISNULL(@FG,char(13));--分隔符;默認(rèn)char(13) IF @Depth<0 SET @Depth=1;--深度為負(fù)數(shù),改1 SET @FileS=NULL; DECLARE @Tab table ([FileName] nvarchar(Max),depth smallint,isfile bit); DECLARE @FileName as nvarchar(Max); DECLARE @i as int; --整理 參數(shù) @Path SET @Path =RTRIM(LTRIM(ISNULL(@Path,''))); --' IF LEN(@Path)<2 GOTO END1; --無效的參數(shù) @Path --分離 文件名(帶通配符) IF CHARINDEX('\',@Path,1)>0 AND RIGHT(@Path,1)<>'\' BEGIN --' --取最右側(cè)'\' 位置 SET @i =LEN(@Path); while @i>0 AND SUBSTRING(@Path,@i,1)<>'\' BEGIN --' SET @i=@i-1; END; IF @i>0 BEGIN --截取 文件名 SET @FileName=SUBSTRING(@Path,@i+1,LEN(@Path)); SET @Path =SUBSTRING(@Path,1,@i-1); --轉(zhuǎn)換通配符 SET @FileName=replace(@FileName,'*','%'); SET @FileName=replace(@FileName,'?','_'); END; END; --print '@Path='+ISNULL(@Path,'')+' @FileName='+ISNULL(@FileName,''); insert @Tab exec master..xp_dirtree @Path ,@Depth --查找深度:0全部目錄,1 第一級目錄,2 第二級目錄 依此類推 ,1 ;--0文件夾,非0:文件夾和文件名 --刪除不匹配 記錄 IF ISNULL(@FileName,'')<>'' BEGIN --select [FileName] from @Tab WHERE [isfile]=1 AND [FileName]like @FileName ; DELETE @Tab WHERE [isfile]<>1 OR [FileName]not like @FileName; END; ELSE DELETE @Tab WHERE [isfile]<>1; --拼裝 文件名串;加 分隔符@FG SET @FileS=''; SELECT @FileS=@FileS+@FG+ISNULL([FileName],'') FROM @Tab; IF @FileS<>''BEGIN --去除首位 分隔符@FG IF SUBSTRING(@FileS,1,LEN(@FG))=@FG BEGIN ; SET @FileS=SUBSTRING(@FileS,LEN(@FG)+1,LEN(@FileS)); END; END; END1: --print '@FileS='+@FileS; --select [FileName] from @Tab; END
當(dāng)前名稱:帶通配符,查找指定目錄下文件的SQL存儲過程
文章分享:http://jinyejixie.com/article46/iiceeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)頁設(shè)計(jì)公司、企業(yè)建站、網(wǎng)站設(shè)計(jì)公司、商城網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)