• ベストアンサー

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

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

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

  • ベストアンサー
  • hirotn
  • ベストアンサー率59% (147/246)
回答No.1

ftp> help コマンドは省略することができます。コマンド: ~略~ cd ←コレ help mput rename close lcd open rmdir ftp> help chdir ヘルプ コマンド chdir は無効です。 ftp> ? cd cd リモート作業ディレクトリを変更します ftpで利用できるコマンドは、helpで調べることができます。 バッチファイルの場合、timeoutコマンドが利用できます。 http://www.atmarkit.co.jp/fwin2k/win2ktips/1420sleep/sleep.html

oimoita
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。 ○分毎にはとりあえずwindowsのタスクスケジューラーを試してみることにしました。

関連するQ&A

  • 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 ファイルの内容をコピペして、きちんと動くので、 何が原因がわかりかねています。 どなたか知恵を貸してください。

  • バッチファイルからftpコマンドを使って不特定のファイルをダウンロードしたい。

    バッチファイル上のftpコマンドを使ってftpサーバーにあるカレントディレクトリー以下のファイルを一切合切ダウンロードしたいのですが、なんかいい方法ありませんか?   ↓ここをなんとかしたいのですが   dir|mget ※[]は各設定を入れる ↓バッチファイル ----------------------------------- ftp open [127.0.0.1] [User] [Password] dir | mget by --------------------------------

  • FTPのバッチファイルで日付を引数で与えたい

    いつもお世話になっております。 FTPのバッチファイルに引数を与える良い方法をご存知ありませんか。 FTPの中では環境変数は使えないとのことですし、悩んでいます。 取得するファイルは日付毎のディレクトリに入っていて、取得後も日付毎のディレクトリに保管するので日付の指定が必要なのですが。 [ftpget.bat]------------------------------------------ ftp-s:ftpget.bat open ホスト名 ユーザー名 パスワード bin prompt cd /~対象ホストのディレクトリ~/YYYYMMDD/host1 !mkdir C:\YYYYMMDD lcd C:\YYYYMMDD mget *.txt quit ---------------------------------------------------- このYYYYMMDDの部分を、『ftpget.bat 20081125』のようにバッチを流す時の引数で与えたいです。 日付は3日前だったり昨日だったり今日だったりします。 今は直接ファイルを編集してYYYYMMDDの部分3箇所を手で直してからバッチファイルを叩いています。 よろしくお願いいたします。

  • FTPのバッチ処理について質問です。

    300のバーチャルホストからデータをダウンロードする必要が発生し、 たまたまそのサーバーが共有サーバーで借りているものだったため、 コンソールから入る事ができず、FTPでダウンロードすることになりました。 ただ、数が多すぎる為FFFTP等でダウンロードするには時間がかかり過ぎ、 時間がない状況の為、FFFTPは不向きだと思い、バッチファイルを作成したものの、 ダウンロードしたファイルが壊れている事がわかりました。 「ファイルのダウンロードができているか」を確認せずに(できずに)1秒程度で 次のファイルのダウンロードが開始されてしまっているからだと思うのですが、 何か良い方法はありませんでしょうか。 ファイルは以下の二つです。 <ファイル1>  mkdir #ダウンロード先その一#  ftp -s:ファイル2 #ホストA#  mkdir #ダウンロード先その二#  ftp -s:ファイル3 #ホストB# <ファイル2、3他>  #ユーザー名#  #パスワード#  cd #該当フォルダ#  lcd #ダウンロード先#  prompt  mget *  qui すみません。 よろしくお願いいたします。

  • DOSプロンプトからFTPのスクリプトバッチが起動できない

    Win2000Proです。 以下のようなBATファイルとスクリプトバッチファイルを作成しました。 ---FTP.bat--- (1)pause (2)ftp -n -s:aaa.txt (3)pause ---aaa.txt--- op localhost user user pass ls close quit このBATファイルを実行すると(1)(2)文の無限ループになってしまい 肝心のftpコマンドは実行されません。 DOSプロンプトから手入力で入力すると実行はできます。 また、BATファイル自体、 (1)pause (2)dir (3)pause のように書き換えると問題なく実行できます。 (1)pause (2)ftp (3)pause のように書き換えても同じくループされます。 わかる方いらっしゃいますでしょうか? よろしくお願いします。

  • バッチファイルにてFTPで指定したファイルを取得する

    OSはWindoswXPProです。 以下のようなBATファイルとバッチファイルを作成しました。 ---FTP.bat--- echo off ftp -s:get.ftp ---get.ftp--- open 10.0.X.X username password cd /log get log.yymmdd(実際には日付) c:\access_all_log.txt quit logというディレクトリには日次でログファイルが作成され ファイル名としてlog.yymmddと名づけられています。 やりたいことは2つあります。 1つめはftpするファイル名の日付部分をコマンドなどから 範囲指定して取得するファイルを指定できないか。 (たとえば070301~070315のファイルを一括で取得したい) 2つ目はftpでのファイル取得終了後に続いて バッチスクリプトを流したいのですが、その方法。 お分かりになる方いらっしゃいましたらよろしくお願いいたします。

  • 複数ファイルのダウンロードを自動化したい

    windows端末のDOSプロンプトからFTPコマンドで複数ファイルを ダウンロードしようとしています FTP>mget bak*.*  ↑ 上記のようにして、 サーバ側にあるbakのつくファイルをmgetコマンドを利用してダウンロード させたいのですが 複数あるファイルのひとつひとつのファイルに対してダウンロードするか 否かを聞いてきます 最終的にはバッチファイルにして、自動ダウンロードにしたいので 人手を介しないようにするために何かいい方法はないでしょうか? お知恵を拝借したいと思います よろしくお願いします。

  • エクセルVBAで、バッチ処理を起動すると・・・

    Windows/XP/pro、エクセル2002 使用です。 c:\autocsvフォルダーに、MS-DOSコマンドを使ってFTPを自動実行しサーバーからCSVを自動的に取得する.TXTファイルと、バッチファイルの.batファイルをおいています。 参考URL http://www.ponko2.com/ftp_bat.html この.batファイルをVBAから呼び出して実行させるように下記のコードを記述ましたが、ファイルは起動するものの、CSVファイルを取得(またはLogin)できません。Openメソッドを使ってもうまくいきませんでした。実行する関数の間違いと思っていますが、それとも、VBAからバッチファイルを実行する場合の何か決まりごと等があるのでしょうか? Sub test() Dim str As Variant str = Shell("c:\autocsv\auto.bat", vbNormalFocus) Application.Wait Now + TimeValue("00:00:10") End Sub (VBAの実行をステップインを使って1行ずつ実行してもファイルを取得できません) なお、.batファイルを単独で起動させた場合は、問題なくcsvファイルの取得はできています。 お手数ですが、ご指導いただけますようお願いします。

  • プロキシサーバー経由でftpのgetを行う方法

    社内LANからプロキシサーバーを経由して、外部のサーバにあるファイルをftpでgetしようとし ています。 方法としては、定期実行するためにスクリプトで下記のようなテキスト(ftpcmd.txt)を作成し、 バッチファイル(auto.bat)でftpコマンドを実行する予定です。 <ftpcmd.txt> open xxx.xxx.xxx.xxx user1 passwd1 ascii get /logfiles/todaylog.txt quit <auto.bat> ftp -s:ftpcmd.txt ここで、質問なのですが、上記のような方法を用い、プロキシサーバー経由でftpを使ったgetを 行うには、どのように行えばいいでしょうか。または、DOSコマンドを使って、行うことは無理な のでしょうか。その場合、ほかにはどのようなやり方が考えられるでしょうか。どなたか、ご助言 いただけませんでしょうか。

  • FTPコマンドの記述方法

    FTPサーバーからCSVファイルをダウンロードしようとftpcmd.txtファイルに下記を記述しました。コマンドプロンプトではファイルの取得に成功しています。 open server_name password get remote_file local_file close bye 問題は、この取得したファイルを差し替えるローカルPC側のリダイレクトの場所である[ログファイル名]の.batファイルの記述の仕方がわかりません。 ftp -s:ftpcmd.txt > [ログファイル名]←ログファイル名の記述方法 例えば、”C:¥”に置きたい場合はどのように記述すればよろしいのでしょうか? よろしくお願いします。 ちなみに下記のHPを参考にして作成しました。 http://www.psytec.co.jp/tips/0102/