• ベストアンサー

FTPの作業をWindows上のバッチでおこないたい

こんにちは。Windowsは初心者です。 あるファイルを別のサーバーにFTP(PUT)したいと考えています。 コマンドプロンプトからFTPのコマンドをたたくのではなく なにかバッチファイル?のようなもので、中に一連のFTP処理を記述し バッチファイルを起動という形で処理を行ないたいのです。 バッチファイルの作成の方法がわかりません。 またFTPの記述の仕方がわかりません。あるファイルを別のサーバに FTP(PUT)したいだけなのです。またエラーも認知したいとも思っています。 どんな本を読めば分かりますでしょうか? また具体的なコード(バッチに記述するFTPのコード)を知っていましたら 教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • PtoP
  • ベストアンサー率27% (24/86)
回答No.1

このファイルにはFTPで行う処理の手順を記述します。 (エラー処理は知りません。あしからず) --test.txt(FTPのコマンドを記述)-- open ホスト名 ユーザーID パスワード put ファイル名 quit --ここまで-- こっちはバッチ用です。FTPを呼び出して、ファイルを渡しているだけです。 --test0.bat(コマンドプロンプト用バッチファイル)-- ftp -s:test1.txt --ここまで-- 簡単に書くとこんな感じです。

その他の回答 (2)

  • chaff
  • ベストアンサー率30% (264/874)
回答No.3

先の皆さんの回答に補足です。 Windows95/98の ftp 機能に注意です! Windows95/98 はNT/2000と違って「簡易FTPサービス」(でしたっけ?)が常時あがっているわけではないので、 (「95/98はFTPの口を空けて待っていない」と表現したりします) NT/2000への 95/98トリガの  ftp get/put はできても 95/98への  NT/2000トリガの ftp get/put はできません 95/98への  95/98トリガの  ftp get/put も同様不可です。 Windows XPは..すいませんわかりません.. お気をつけください

hanikos2001
質問者

お礼

ありがとうございます。 こちらの環境はNTなので大丈夫かと思います。

noname#30727
noname#30727
回答No.2

ftp -s:filename は私も何度か使いました。 ディレクトリ単位でのputならば、フリーのFTP クライアントアプリを使ったほうが、更新されたファイルだけを put してくれるなど、最短で同期がとれるので便利です。 参考URLは、コマンドのリファレンスです。 Ftp と Ftpコマンド の両方を見てください。

参考URL:
http://www.microsoft.com/windows2000/ja/server/help/default.asp?url=/windows2000/ja/server/help/ntcmds.htm

関連するQ&A

  • windows10 FTP送信 バッチが動かない

    windows10からFTPサーバーへPUTしたいのですが、バッチファイルが動かないPCが存在します。 バッチファイル ftp -s:\\**********\b01.bat >\\**********\ftp.log b01.bat  open **********  **********  **********  PUT \\**********.TXT  QUIT 以下がログです。 ftp> open ********** ********** に接続しました。 220 (vsFTPd 2.2.2) 200 Always in UTF8 mode. ユーザー (**********:(none)): 331 Please specify the password. 230 Login successful. ftp> PUT \\**********.TXT 200 PORT command successful. Consider using PASV. 425 Failed to establish connection. ftp> QUIT 221 Goodbye. 色々調べた結果、パッシブモードではないからダメ・・・ しかしながら、別のwindows10では、問題なくPUT出来ています。 試しに、動作しないPCでコマンドラインで実行した結果は、 200 PORT command successful. Consider using PASV. ここまで上記と同様 150 Ok to send data. ftp: 300バイトが送信されました 0.29秒 1.05KB/秒 上記の通り問題なく送信できます。 windowsのFTPはパッシブモードはサポートしないならすべて出来ないなら理解できますが コマンドプロンプトでは実行できることが疑問、また、実行できる端末と出来ない端末があることも疑問です。 WinSCPに変更することも考えたのですが、windowsのバッチファイルを自動生成し実行後LOGに内容により他の処理を実行するところも作りこんでいて問題なく使用していた為、今更変更できない状況です。(パッシブモードの事さえ知らず動いていました) 何が何だかわからない状態です、お知恵をいただけないでしょうか・・・

  • バッチファイルからiniファイルを読み込みftpを行いたい

     バッチファイルからftpを行い他のサーバにput(mput?)を行いたいのですが、idとパスワードを*.ini(名前は決めていません)から 取ってきたいのです。  どうすればいいのでしょうか?他のファイルを呼ぶにはcall分を使うと記述してあったのですが、*iniファイルでも大丈夫なのでしょうか?  dosコマンドとかWindws環境に弱いので教えてください。お願いします。

  • SolarisからWindowsへFTPするときのオプション

    Solaris8上でftpコマンドに関するのシェルを作成しています。 処理概要はSolaris上にあるファイルをWindwosのFTPサーバーに送信したいのです。そのFTP処理時、FTPの一連のコマンドを記入したテキストファイルを指定して実行したいのです。Windows上でバッチ処理をするときは、以下のように処理しています。  ftp -s:xxxx.txt  (ここでxxxx.txtには、ftpコマンドが記入) Solaris上でftpのオプションをmanで確認したいのですが、それらしきものがありませんでした。  よろしくお願いします。

  • バッチでFTPコマンド

    バッチ処理内でFTP接続し、ファイルの上げ下げを行う処理を作成しています。 使用しているサーバーはPHPのFTP関数が使用できない環境で、 コマンド関数を利用し直接処理を書こうと思うのですが、 exec('ftp ホスト'); と記述してもユーザー名、パスワードを聞かれてしまう為正常に動作しません。 こういった場合どうしたら良いのでしょうか?? 詳しい方がおられましたらご回答頂ければと存じます。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • FTPのバッチファイル

    ローカルPCからサーバーのPCへ毎日決まったファイルをFTPで伝送したいと思っています。今はFFFTPで、毎日手動でファイルをアップロードしていますが、DOS窓からFTP接続するコマンドをバッチファイルにすることってできないのでしょうか? できれば、そのバッチファイルをタスクスケジューラーに登録して日々自動でアップロードしたいと考えています。 ftp open 接続先 ユーザーID パスワード put ファイル名 といった内容をバッチファイルにしたいのですが、やり方をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • windows2008でftpをバッチ実行する。

    windows2008サーバーでバッチファイルを作成しftpで複数ファイルを自動転送しようと思います。 今まで(OSはXP)はうまく実行していたのですが、windows2008サーバーではうまくいきません。 ちなみにバッチファイルは @echo off echo ●FTP処理 C:\Windows\System32\ftp.exe -s:d:\ftp\tohost.txt echo on @echo off echo ●終了 tohost.txtの内容は open 192.168.1.1 Uid Pwd bin put d:\ftpdata\a1.txt /afld/a2.txt bye です。 何かwindows2008による特別な方法があるのでしょうか? よろしくお願いいたします。

  • バッチファイルからiniファイルを読み込みたいのですが?

     バッチファイルからftpを行い他のサーバにput(mput?)を行いたいのですが、idとパスワードを*.ini(名前は決めていません)から 取ってきたいのです。  どうすればいいのでしょうか?他のファイルを呼ぶにはcall分を使うと記述してあったのですが、*iniファイルでも大丈夫なのでしょうか?  dosコマンドとかWindws環境に弱いので教えてください。お願いします。

  • バッチ処理でftpから自動的にダウンロード

    バッチ初心者です。 バッチを使用してLAN内のftpサーバーからcsvを別のマシンのフォルダへ定期的(10分毎)にダウンロードするようにしたいのです。 テキストファイル(ファイル名ftpcmd.text)に以下のように記述しました。 open 「ftpサーバーのIPアドレス」 「ユーザー名」 「パス」 mget*.csv quit バッチファイル(auto_ftp.bat)に以下のように記述しました。 ftp -i-s:ftpcmd.txt ダウンロード先の指定と10分毎に実行させるにはどのようにすればいいですか? 宜しくお願いします。

  • Windows マシンでFTPバッチが動かない

    Windowsサーバから、UNIXサーバにFTPでファイル取得しようとすると、エラーがでてすすみません。 コマンドプロンプトで 対話的に動かす分には問題なく動作するのですが、バッチで動かすと エラーがでてしまうのです。 動かそうとしているバッチファイルとその読み込みスクリプトは以下です。 (変数部分はぼかしています) ==== myftp.bat BGN ==== set dirname=%DATE:/=% mkdir D:\master\%dirname% ftp -s:ftpcmd.txt ==== myftp.bat END ==== ==== ftpcmd.txt BGN ==== open hoge user_naem pass_word bin lcd D:\master get file.txt quit ==== ftpcmd.txt END ==== これらを動かすと、 スクリプト ファイル ftpcmd.txt を開くときにエラーが発生しました。 というエラーがでて前に進みません。 対話ベースでは、ftpcmt.txt ファイルの内容をコピペして、きちんと動くので、 何が原因がわかりかねています。 どなたか知恵を貸してください。

  • DOSプロンプトからFTP接続処理を自動化したい

    iPhoneからのため、カテゴリ違いご容赦ください。 Windows7です。 下記の処理をバッチスクリプトにて自動化したいです 1.DOSプロンプトからFTPサーバへFTP接続 2.FTPプロンプトからDOSプロンプトに戻る(切断ではなく、FTP接続を保ったまま) 3.以降にも自動化したい処理はありますが、今回は質問用のため省略します 2.を実現する方法として、FTPプロンプトで"! [コマンド]"が使えるとのことだったので、 それを利用して作成したものを実行したところ、 2.を実行し終えたところでバッチが止まってしまいます。 (フリーズ・操作不能ではなく、プロンプトのままユーザからの入力待ち状態) 何故このようになってしまうのでしょうか。 また、2.より先も自動化するためにはどう修正すればいいでしょうか。 ただし、今回は環境上、DOSコマンドとFTPサーバのftpコマンド以外は使用できません。 (その代わり、多少強引でも構いません)