我有一个进程需要每天运行将从FTP站点下拉的文件导入到同一文件夹中。除了抓取文件之外,我已经完成了整个项目。
有没有办法让FoxPro以这样的格式抓取文件:appointmentlist_METER_05152013.txt appointmentlist_RADIO_05132013.txt
这些文件每天早上6点都在这个文件夹中,但我需要确保我为其中一个FoxPro程序获取METER,另一个应该获取RADIO。每天更改的唯一内容是文件名中的日期。
如果需要,我可以确保在FTP检索过程中将每个文件拉入另一个文件夹,并且每个文件夹中只包含当天的文件。
非常感谢任何帮助。
如果您需要更多信息,请随时提出。
答案 0 :(得分: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
答案 1 :(得分: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