2013-05-16 2 views
0

У меня есть процесс, который должен запускать каждый день импорт файлов, которые вытаскиваются с FTP-сайта в ту же папку. У меня есть весь проект вниз и сделано, за исключением захвата файлов.Файл импорта Daily

Есть ли способ, что я могу сделать FoxPro захватить файлы в формате, как это: appointmentlist_METER_05152013.txt appointmentlist_RADIO_05132013.txt

Эти файлы находятся в этой папке каждое утро в 6 утра, но мне нужно, чтобы убедиться, что Я получаю METER один для одной из программ FoxPro, а другой должен захватить RADIO. Единственное, что меняется ежедневно, это дата в имени файла.

Если необходимо, я могу убедиться, что каждый файл вытащил в другую папку в процессе извлечения FTP и что каждая из этих папок содержит только файл для этого дня.

Любая помощь была бы принята с благодарностью.

Если вам нужна дополнительная информация, пожалуйста, не стесняйтесь спрашивать.

ответ

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 
+0

К сожалению, я довольно новыми для FoxPro, есть таблица или курсор, что эти имена файлов будут заселены? – Lordv8r

+1

ADIR() заполняет массив указанными файлами. –

+0

Могу ли я получить что-то вроде JUSTFNAME() из этого массива? Я пытаюсь добавить из файла, имя файла которого должно содержаться в этом массиве. Спасибо за вашу помощь. – Lordv8r

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 

 Смежные вопросы

  • Нет связанных вопросов^_^