Windowsバッチでftpによるファイルupload
たまにはWindowsのバッチでも作ってみるかということで作ってみた.
なんかソースコードとしてきたないので少し修正したほうがいいかも...
@echo off rem -------------------------------------------------------- rem ユーザ設定 rem -------------------------------------------------------- rem ログインサーバ名 set server=xxxxxxxxx rem ログインユーザ名 set user=xxxx rem ログインパスワード set password=XXXXXXX cd /d %~dp0 set basedir=%~dp0 rem ローカルのHTMLディレクトリ rem set path_local_html=%basedir%upload_dir set path_local_html=upload_dir echo %path_local_html% rem ローカルのログ保存ディレクトリ set path_local_log=%basedir%log echo %path_local_log% rem リモートのHTMLディレクトリ set path_remote_html=ftp_test_dir echo %path_remote_html% rem ftpスクリプト一時ファイル set ftplogin=ftp_login.tmp set ftplogout=ftp_logout.tmp set ftpupload=ftp_upload.tmp set ftpbat=ftp_pupdate.tmp rem -------------------------------------------------------- rem ログ設定 rem -------------------------------------------------------- rem 日付を得る set datei=%DATE:/=-% set datef=%datei:-=% rem 時刻を得る set timef=%TIME::=% set timef=%timef:~0,4% rem ログ保存場所決定 set fpath=%path_local_log% echo %fpath% rem ログ保存ディレクトリ作成 mkdir "%fpath%" rem 保存場所へ移動 cd /d "%fpath%" echo pwd is "%~dp0" rem -------------------------------------------------------- rem FTPコマンド ログイン rem -------------------------------------------------------- rem ログインユーザ名入力 echo ばしょ"%fpath%\%ftplogin%" echo %user%> "%fpath%\%ftplogin%" rem ログインパスワード入力 echo %password%>> "%fpath%\%ftplogin%" rem バイナリモードへ変更 echo bin>> "%fpath%\%ftplogin%" rem Yes/No確認をスキップ echo prompt>> "%fpath%\%ftplogin%" echo ログインシェルだん rem -------------------------------------------------------- rem FTPコマンド ログアウト rem -------------------------------------------------------- rem ログアウト echo bye> "%fpath%\%ftplogout%" rem ftpセッションの終了 echo close>> "%fpath%\%ftplogout%" echo ログアウトだん rem -------------------------------------------------------- rem FTPコマンド ファイルアップデート rem -------------------------------------------------------- rem ここは利用環境に合わせて書き換えてください。 echo lcd %path_local_html%> "%fpath%\%ftpupload%" echo cd %path_remote_html%>> "%fpath%\%ftpupload%" echo put index.html>> "%fpath%\%ftpupload%" rem echo lcd %path_local_html%\win>> "%fpath%\%ftpupload%" rem echo cd %path_remote_html%/win>> "%fpath%\%ftpupload%" rem echo mput *.html>> "%fpath%\%ftpupload%" echo FTPコマンドファイルだん rem -------------------------------------------------------- rem FTPスクリプト 作成 rem -------------------------------------------------------- echo open %server%> "%fpath%\%ftpbat%" type %ftplogin%>> "%fpath%\%ftpbat%" type %ftpupload%>> "%fpath%\%ftpbat%" type %ftplogout%>> "%fpath%\%ftpbat%" echo FTPスクリプトだん rem -------------------------------------------------------- rem FTPスクリプト 実行 rem -------------------------------------------------------- rem cd "%fpath%" cd "%basedir%" rem echo aaa>test.log echo "%ftpbat%" echo "%fpath%\%datef%_%timef%.log" ftp -s:"%fpath%\%ftpbat%">>"%fpath%\%datef%_%timef%.log" echo %errorlevel% rem ログ保存が必要なければ 以下を利用してください rem ftp -s:%ftpbat% rem -------------------------------------------------------- rem 後処理 rem -------------------------------------------------------- rem del %ftplogin% rem del %ftplogout% rem del %ftpupload% rem del %ftpbat% cd %path_local_html% :end pause