带通配符,查找 指定目录下文件的SQL存储过程
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,通配符查找 指定目录下文件的过程:--查找指定文件夹(目录)下的文件。ALTER PROCEDURE [FileS].[DIR_FileS]@Path nvarchar(1000) --搜索路径。
千家信息网最后更新 2024年11月30日带通配符,查找 指定目录下文件的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安全错误
数据库的锁怎样保障安全
济南计算机软件开发学校信息
软件开发项目总体时间表
软件开发全过程咨询
虚空之境服务器登录不进去
榆林网络安全宣传语
群智化软件开发
小米3c无法连接服务器
win服务器批量管理
视频超出服务器会话限制怎么办
计算机网络技术综合应用小结
软件开发转售前
网络安全雷达预警系统
餐桌转盘软件开发
数据库恢复的冗余数据库
软件开发文档项目计划
服务器怎么接堆叠的交换机
软件开发类招聘流程
cs服务器后台管理
做软件开发私活多吗
giga真菌数据库
河北网络安全知识竞答
远程服务器dll文件
加速俄罗斯服务器选什么
挽竹killer的服务器怎么进
数据记录总数 数据库
小白应该怎么学习数据库
网络安全apt什么意思
梁山软件开发电话
mc一个服务器可以有多少人
怎么用垃圾分类软件开发