Estou assumindo que você está em uma máquina Windows e não em * nix (como "shell" sugere). No Windows, "ftp -s: filename.dat" representa o cliente ftp padrão, que lê os comandos do arquivo "filename.dat". Então, o switch -s diz ao cliente para ler uma lista de comandos de um arquivo e executá-los.
O cliente ftp atual no * nix não tem esse comutador, portanto, se você estiver em uma máquina * nix, mostre parte do seu script para que possamos investigar melhor.