1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Вопрос. 
Как заставить SPSS 8.0 for Windows выполнить файл синтаксиса через командную строку DOS? 
Через пакетный файл (.BAT)? 
Через NT Scheduler? 

Ответ. 
Вид команды таков 

runsyntx syntax.sps 

Это откроет файл "syntax.sps" в окне синтаксиса и запустит его содержимое. Если SPSS в это время не был запущен, окно синтаксиса не появится до тех пор, пока не закончатся расчёты. 

Обратите внимание, что эта команда использует программу "Runsyntx.exe", расположенную в папке SPSS 8.0 for Windows. Возможно, вам придётся указать полный путь в кавычках к файлу .sps, .exe, или к обоим, в зависимости от того, какая директория является текущей и где находятся файлы, например: 
runsyntx "c:\\spss work\\syntax.sps" 
"c:\\program files\\spss\\runsyntx.exe" "c:\\program files\\spss\\syntx.sps"
 
В пакетном файле вы можете вызвать Runsyntx несколько раз. Фокус будет возвращён в .bat файл как только окно синтаксиса откроется, но перед тем, как будут подсчитаны результаты. Конечные результаты должны быть сгенерированы в том порядке, в котором их запросили.

Сохранение и печать файлов могут быть выполнены с использованием команды SCRIPT для запуска подходящего скрипта. Это обсуждается в отдельном разделе. Runsyntx оставит окно синтаксиса открытым. В конце этого файла есть скрипт "CloseAllSyntaxWindows.sbs", который закрывает все открытые окна синтаксиса. Можете добавить

SCRIPT "CloseAllSyntaxDocs.sbs". 

в файл синтаксиса для закрытия его окна.  

Если что-то идёт не так, проверьте список запущенных приложений. Возможно вы увидите множество копий Runsyntx, ждущих своей очереди (если вы вызывали его более, чем один раз). Если SPSS не отвечает, "завершите задачу" чтобы закрыть все копии Runsyntx.

Если увидите сообщение об ошибке OLE Automation error messages от Runsyntx, или результаты не появляются, SPSS, вероятно, не отвечает. Если окон SPSS не видно, проверьте список запущенных приложений. Если там видны SPSS for Windows и/или SPSSW, завершите эти приложения.

Нижеследующий текст должен быть вставлен в пустое окно текстового файла и сохранён как CloseAllSyntaxDocs.sbs 

Sub Main 
Dim objDocuments As ISpssDocuments 
Dim i As Integer 

Set objDocuments = objSpssApp.Documents 
With objDocuments 
For i = .SyntaxDocCount - 1 To 0 Step -1 
.GetSyntaxDoc(i).Close 
Next 
End With 
End Sub