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

Oracle PeopleSoft环境下SQR模糊查找服务器文件的方法咨询

在PeopleSoft SQR中实现文件前缀模糊查找的方法

SQR本身没有内置的文件模糊匹配函数,要实现前缀查找(比如匹配前缀为"ABC"的文件),可以通过调用操作系统命令结合文件读取的方式来实现,具体步骤如下:

核心思路

利用call system执行操作系统的目录查询命令,将匹配结果输出到临时文件,再通过SQR的文件读取函数检查临时文件内容,判断是否存在目标前缀的文件。

具体实现

Windows环境

! 定义目标路径和前缀,生成查询命令
let $target_path = 'C:\your\target\directory\'
let $prefix = 'ABC'
let $cmd = 'dir /b "' || $target_path || $prefix || '*" > C:\temp\match_result.txt'

! 执行系统命令
call system($cmd)

! 检查临时文件是否有内容(即是否存在匹配文件)
let #file_exists = 0
open 'C:\temp\match_result.txt' as 1 for reading record=80:vary
if #status = 0
    read 1 into $line
    if #status = 0
        let #file_exists = 1 ! 存在匹配文件
    end-if
    close 1
end-if

! 清理临时文件
call system('del C:\temp\match_result.txt')

Linux/Unix环境

! 定义目标路径和前缀,生成查询命令
let $target_path = '/your/target/directory/'
let $prefix = 'ABC'
let $cmd = 'ls ' || $target_path || $prefix || '* > /tmp/match_result.txt 2>/dev/null'

! 执行系统命令
call system($cmd)

! 检查临时文件是否有内容
let #file_exists = 0
open '/tmp/match_result.txt' as 1 for reading record=80:vary
if #status = 0
    read 1 into $line
    if #status = 0
        let #file_exists = 1 ! 存在匹配文件
    end-if
    close 1
end-if

! 清理临时文件
call system('rm /tmp/match_result.txt')

注意事项

  • 确保SQR运行的用户拥有目标目录的读取权限,以及临时目录的读写权限
  • 处理多个匹配文件的场景:如果需要获取所有匹配文件名,可以循环读取临时文件的每一行
  • 临时文件路径可根据实际环境调整,避免与其他进程冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:11:02