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

如何用FileMaker或AppleScript下载带随机前后缀的最新FTP文件?

解决FileMaker中FTP下载带随机前后缀文件名的最新文件问题

嗨,Sean!作为新手遇到这种文件名变动的情况确实有点挠头,我给你几个实操性强的方案,一步步来就能搞定~

方案一:用curl先筛文件再下载(最通用的方法)

这个思路是先从FTP服务器上找出所有带Stock_Summary的文件,再挑出最新的那个下载,分三步走:

1. 先在终端里测试curl命令(新手先在终端跑通更稳妥)

打开你的终端(Mac用终端,Windows用PowerShell/命令提示符),先执行这个命令列出目标目录下的相关文件:

curl --user "你的FTP用户名:你的FTP密码" ftp://你的FTP服务器地址/存放文件的路径/ -l -t | grep "Stock_Summary"

参数说明:

  • -l:只返回文件名,不显示其他冗余信息
  • -t:按文件修改时间排序(最新的文件会排在最后)
  • grep "Stock_Summary":过滤出包含关键词的文件名,精准定位目标文件

如果这个命令能返回类似7818023-Stock_Summary-035831的文件列表,再加上tail -n 1就能直接拿到最新的文件名:

curl --user "你的FTP用户名:你的FTP密码" ftp://你的FTP服务器地址/存放文件的路径/ -l -t | grep "Stock_Summary" | tail -n 1

执行完你就能看到最新的那个目标文件名啦。

2. 把命令搬到FileMaker脚本里

在FileMaker里创建一个新脚本,步骤如下:

  • 第一步:用Execute Shell Script执行上面的命令,把结果存到变量$latestFileName里
    脚本里的命令要拼上你的用户名密码变量,比如:
    "curl --user " & $usr & ":" & $pw & " ftp://你的FTP服务器地址/存放文件的路径/ -l -t | grep Stock_Summary | tail -n 1"
    
  • 第二步:用Insert URL或者继续用Execute Shell Script执行下载命令,拼上刚才拿到的最新文件名:
    curl --user " & $usr & ":" & $pw & " -o Stock-Summary.csv ftp://你的FTP服务器地址/存放文件的路径/" & $latestFileName
    

方案二:找厂商要更省心的方式(优先试试这个!)

如果厂商那边能配合的话,这是最简单的方法:

  • 问问他们能不能给一个固定名称的文件链接,比如latest-Stock_Summary.csv,让这个链接始终指向最新的文件,这样你还是用原来的下载命令就行,完全不用改逻辑
  • 或者问问有没有API能返回最新文件的名称,直接调用API拿到文件名再下载

新手注意事项

  • 先在终端把curl命令跑通,再放到FileMaker里,这样出问题更容易排查
  • 如果用Execute Shell Script,要确保你的FileMaker客户端/服务器有执行shell脚本的权限(Mac一般默认可以,Windows可能需要调整一下系统权限)
  • 变量拼接的时候要注意引号的位置,别漏了或者多了引号导致命令报错

慢慢来,先搞定终端里的命令,再移到FileMaker脚本,很快就能解决啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:24:27