Die Anweisungen send und xauth werden als Switch-Anweisungen bezeichnet, weil sie abhängig vom Verhalten des Servers sofort eine bestimmte Entscheidung treffen. Die Switch-Anweisung enthält case-Anweisungen, die den Case-Anweisungen in Java und C++ sehr ähnlich sind. Allerdings stellen die Bedingungen keine Konstanten dar, die mit einem einzelnen Ausdruck verglichen werden.
Unmittelbar nach einer Switch-Anweisung wie z. B. send oder xauth stehen grundsätzlich Case-Anweisungen in geschweiften Klammern { <Case-Anweisungen> }. Die Case-Anweisungen können leer sein (d.h. zwischen den geschweiften Klammern steht keine Eingabe); die Klammern müssen aber in jedem Fall gesetzt werden.
Beispiel einer Switch-Anweisung:
Hinter der Anweisung send steht als einziges Argument die an den Server zu sendende Zeichenfolge. Die Zeichenfolge wird vor dem Senden in ihre Langform umgesetzt. Die maximale Länge der ausgeschriebenen Zeichenfolge ist auf etwa 512 Byte - die maximale Länge einer FTP-Zeile - begrenzt. Der Befehl wird also gesendet und die erhaltene Antwort mit den Bedingungen der einzelnen Case-Anweisungen verglichen.
Für die Anweisung xauth werden keine Argumente definiert. Die Anweisung bewirkt, dass geprüft wird, ob das Begrüßungs-Banner ein unsichtbar vom Ipswitch WS_FTP-Server bereitgestelltes XAUTH enthält. Wenn keine Verbindung zu einem Ipswitch WS_FTP-Server besteht oder wenn die Einladung nicht gefunden wird, hat die Anweisung xauth keinerlei Auswirkungen, und die Case-Anweisungen werden nicht überprüft. Wird die Einladung nicht gefunden, so werden der Benutzername und das Kennwort codiert, und die Anweisung xauth wird an den Server gesendet. Wie bei der Anweisung send wird anschließend die Antwort des Servers abgewartet und auf die Case-Anweisungen überprüft.