You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL Server查询仅加载指定文件夹内的.txt后缀文本文件

仅加载.txt格式文件的调整方案

有两种可行调整方式,按需选择即可:

方案1:修改系统dir命令(更高效,直接过滤后返回结果)

在dir命令后追加\*.txt后缀过滤规则,直接让系统仅返回目标路径下的txt文件,完整代码如下:

DECLARE @command VARCHAR(1000);
DECLARE @fileDir VARCHAR(1000);
DECLARE @files TABLE ([Id] INT IDENTITY, [FileName] VARCHAR(1000));

SET @fileDir = 'D:\NewDataFolder';

-- 追加*.txt后缀过滤,仅返回txt文件
SET @command = 'dir /b ' +  @fileDir + '\*.txt';   

INSERT INTO @files 
    EXECUTE xp_cmdshell @command;

SELECT * 
FROM @files 
WHERE [FileName] IS NOT NULL 
  AND [FileName] <>'File Not Found'

方案2:在SQL查询结果中过滤(适合需要先获取全量文件列表做其他处理的场景)

不需要修改dir命令,仅在最终查询的WHERE条件中追加后缀判断即可,判断规则可以用LIKE匹配或者RIGHT函数截取后缀:

DECLARE @command VARCHAR(1000);
DECLARE @fileDir VARCHAR(1000);
DECLARE @files TABLE ([Id] INT IDENTITY, [FileName] VARCHAR(1000));

SET @fileDir = 'D:\NewDataFolder';

SET @command = 'dir /b ' +  @fileDir;   

INSERT INTO @files 
    EXECUTE xp_cmdshell @command;

SELECT * 
FROM @files 
WHERE [FileName] IS NOT NULL 
  AND [FileName] <>'File Not Found'
  -- 追加txt后缀过滤,SQL Server默认不区分大小写,大小写后缀都能匹配
  AND [FileName] LIKE '%.txt'

如果需要更严谨的后缀匹配,避免文件名中间包含.txt的误判,可以改用RIGHT([FileName], 4) = '.txt'替代LIKE规则。

内容的提问来源于stack exchange,提问作者Raju Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:36:01