带通配符,查找 指定目录下文件的SQL存储过程
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,通配符查找 指定目录下文件的过程:--查找指定文件夹(目录)下的文件。ALTER PROCEDURE [FileS].[DIR_FileS]@Path nvarchar(1000) --搜索路径。
千家信息网最后更新 2025年01月21日带通配符,查找 指定目录下文件的SQL存储过程
通配符查找 指定目录下文件的过程:
--查找指定文件夹(目录)下的文件。ALTER PROCEDURE [FileS].[DIR_FileS]@Path nvarchar(1000) --搜索路径。 --表示【文件夹路径】必须以'\'结尾; --表示【文件路径】不能以\结尾。(文件名可带通配符),@FileS nvarchar(MAX) OUTPUT --返回 找到的 文件名串,@Depth int=1 --搜索[文件夹]深度。不为1,将搜索[子文件夹]。0全部目录,1 第一级目录,2 第二级目录 依此类推,@FG nvarchar(10)=NULL --文件名串的 分隔符;默认char(13)ASBEGIN SET NOCOUNT ON; SET @FG=ISNULL(@FG,char(13));--分隔符;默认char(13) IF @Depth<0 SET @Depth=1;--深度为负数,改1 SET @FileS=NULL; DECLARE @Tab table ([FileName] nvarchar(Max),depth smallint,isfile bit); DECLARE @FileName as nvarchar(Max); DECLARE @i as int; --整理 参数 @Path SET @Path =RTRIM(LTRIM(ISNULL(@Path,''))); --' IF LEN(@Path)<2 GOTO END1; --无效的参数 @Path --分离 文件名(带通配符) IF CHARINDEX('\',@Path,1)>0 AND RIGHT(@Path,1)<>'\' BEGIN --' --取最右侧'\' 位置 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); --转换通配符 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
文件
目录
文件名
文件夹
分隔符
通配符
深度
路径
搜索
依此类推
过程
位置
参数
右侧
负数
存储
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
Cmcc路由器认证网关服务器
软件开发人员职业说明书
中东ip服务器
部门属性数据库设计
h5网络安全是什么
服务器装显卡不
英雄联盟手游选哪一个服务器
莱芜附近软件开发培训班
郑州高端科技互联网
数据库原理 自考
达内网络安全教育
网络安全用网图画
宝塔数据库怎么修改
服务器必学红石
网络技术工作岗位有哪些
小学生怎么防止网络安全教案
河北服务器电源厂家哪家好
河南嘟嘟网络技术有限公司
我与网络安全200字
军事图书数据库
万载县软件开发公司
蓬莱鸿诚网络技术有限公司
虚拟服务器技术
obs服务器和串流密码
软件开发和软件编程
宁夏华为服务器维修维保
外包软件开发招标问题
生物医学期刊数据库
数据库关系代数表达式题
社交网络安全隐患动画