2025/04/04(金) [n年前の日記]
#1 [windows] ftp.exeについて調べてた
Python + BeautifulSoup を使って、HTML内でリンクされているファイル名の一覧を取得することができたので、更にFTPサーバにアップロードする処理ができれば色々と自動化できそうかなと…。
Python + ftplib でFTPサーバにアップロードできるか試しているうちに、もしかしてWindowsに標準添付されてるftp.exeでも十分に目的が果たせるのではないかと思えてきた。
調べてみたら、ftp.exe は、FTPサーバに送信するコマンドをテキストファイルに列挙して、ftp.exe -s:ftpcmds.txt といった指定で渡してやることで、そこそこ自動化できるらしい。
_Windowsのftpコマンドをスクリプトで使う:Tech TIPS - @IT
手元の環境、Windows10 x64 22H2 で試してみたら、たしかに動作してくれた。
以下は一例。ftpcmd.txt というファイル名で保存した。
sample.html がアップロードされた。
特定のファイルについて、更新状態は一切チェックせず、毎回必ずアップロードしてしまってもよいのであれば、こういうやり方で十分な気がする…。
ただ、コマンドを列挙したテキストファイル内にパスワードまで記述されているのはちょっと怖い気もする…。
Python + ftplib でFTPサーバにアップロードできるか試しているうちに、もしかしてWindowsに標準添付されてるftp.exeでも十分に目的が果たせるのではないかと思えてきた。
調べてみたら、ftp.exe は、FTPサーバに送信するコマンドをテキストファイルに列挙して、ftp.exe -s:ftpcmds.txt といった指定で渡してやることで、そこそこ自動化できるらしい。
_Windowsのftpコマンドをスクリプトで使う:Tech TIPS - @IT
手元の環境、Windows10 x64 22H2 で試してみたら、たしかに動作してくれた。
以下は一例。ftpcmd.txt というファイル名で保存した。
open servername username password cd /public_html/hoge/fuga/piyo ascii put C:\hoge\fuga\piyo\sample.html sample.html bye
ftp.exe -s:ftpcmd.txt
sample.html がアップロードされた。
特定のファイルについて、更新状態は一切チェックせず、毎回必ずアップロードしてしまってもよいのであれば、こういうやり方で十分な気がする…。
ただ、コマンドを列挙したテキストファイル内にパスワードまで記述されているのはちょっと怖い気もする…。
[ ツッコむ ]
以上、1 日分です。