* Макрос обеспечивает слияние любого количества последовательно
* поименованных файлов, по 50 файлов за итерацию.
*////////////.
DEFINE !merge4 (path=!TOKENS(1) /stem=!TOKENS(1) /n1=!TOKENS(1) /n2=!TOKENS(1))
GET FILE = !QUOTE(!CONCAT(!UNQUOTE(!path),!UNQUOTE(!stem),!n1,'.sav')).
!LET !inifile='*'
!DO !cnt=!n1 !TO !n2 !BY 49
!IF (!cnt=!n1) !THEN
!LET !cnt1=!LENGTH(!CONCAT(!BLANK(!cnt),!BLANK(1)))
!ELSE
!LET !cnt1=!cnt
!IFEND
!LET !cnt2=!LENGTH(!CONCAT(!BLANK(!cnt),!BLANK(48)))
!IF (!BLANK(!cnt2) !GT !BLANK(!n2)) !THEN !LET !cnt2=!n2 !IFEND
ADD FILES FILE=!inifile
!DO !fn=!cnt1 !TO !cnt2 /FILE=!QUOTE(!CONCAT(!UNQUOTE(!path),!UNQUOTE(!stem),!fn,'.sav')) !DOEND.
!DOEND
SAVE OUTFILE=!path + 'master.sav'.
!ENDDEFINE.
*////////////.
SET MPRINT=yes.
* Сливаем файлы (добавляем наблюдения) из файлов с file2 по file60.
!merge4 path="c:\\temp\\" stem=file n1=2 n2=60.