WindowsでのFTPの自動化

  • なぜか業務で、FTPをバッチでって話が同期からやってきた
  • 普通にやってることなんで、楽勝じゃん!って感じでテスト環境で試してみる
  • が、ハマッタ (@_@;

1. スクリプト用のファイルを作成

open 192.168.1.1
ftptestuser
password1
ls
quit

2. コマンドプロンプトから実行

C:\>ftp -s:ftp.txt
ftp> open 192.168.1.1
Connected to 192.168.1.1.
220 FTP server ready.
User (192.168.1.1:(none)):
331 User ftptestuser OK. Password required

230-User ftptestuser has group access to: 503
230 OK. Current directory is /
ftp>
ftp> ls
200 PORT command successful
150 Connecting to port 1270
.
..
226-Options: -a
226 2 matches total
ftp: 7 bytes received in 0.01Seconds 0.70Kbytes/sec.
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.

  • と、簡単な話だったんですが・・ ハマッタ (@-@)
  • FTP鯖に、pure-FTPD を使ってたんですが、無効なオプションつけていた際に若干動作が変わるようで、なぜだか、「password:」で passwordを入力した状態で止まってしまう
  • 「220 FTP server ready.」の表示後、エラーオプションの内容表示「unrecognised option `--tls=1'」がクライアントの応答として、表示されるだけの違いだったりはするんですが・・
  • 手動ではログインできるんで、なぜ改行コードが入らないのかえらく悩んじゃいました・・
  • つぅ〜ことで、バッチでFTPはできるこたぁ〜できるが、パスワードも平文でテキスト保存しないといけないし、まぁ〜やめとけということでw