0

我有一个需要每天运行的过程,将从 FTP 站点拉下的文件导入到同一个文件夹中。除了抓取文件之外,我已经完成了整个项目。

有什么方法可以让 FoxPro 以如下格式抓取文件:约会列表_METER_05152013.txt 约会列表_RADIO_05132013.txt

这些文件每天早上 6 点都在这个文件夹中,但我需要确保我获得了一个用于 FoxPro 程序的 METER,而另一个应该获取 RADIO。每天唯一变化的是文件名中的日期。

如果需要,我可以确保在 FTP 检索过程中将每个文件拉入不同的文件夹,并且每个文件夹中只包含当天的文件。

任何帮助将不胜感激。

如果您需要更多信息,请随时询问。

4

2 回答 2

2

您可以使用 ADIR() 函数在特定驱动器和目录上创建文件数组。

 SET DEFAULT TO c:\Mydirectory
 MyFilesCount = ADIR(MyArray, '*.TXT')   &&Get all TXT files at this location

然后,您可以遍历上述数组并使用 ATC() 函数搜索包含某个字符串的文件。

 FOR n = 1 TO MyFilesCount
      IF ATC("METER", MyArray[n,1] ) > 0    &&First column contains file name
         ***Run METER process
      ENDIF
      IF ATC("RADIO", MyArray[n,1] ) > 0   &&First column contains file name
         ***Run RADIO process
      ENDIF
 ENDFOR
于 2013-05-16T17:28:42.643 回答
0
m.CDATE = Transform(Day(Date()), '@L 99') + Transform(Month(Date()), '@L 99') + Transform(Year(Date()), '@L 9999')

m.CFILE = 'C:\SOMEFOLDER\appointmentlist_RADIO_' + M.CDATE + '.txt'

If File(M.CFILE) Then
    Do RADIOPROCESS With m.CFILE
Endif

m.CFILE = 'C:\SOMEFOLDER\appointmentlist_METER_' + M.CDATE + '.txt'

If File(M.CFILE) Then
    Do METERPROCESS With m.CFILE
Endif
于 2013-05-20T11:22:30.600 回答