• ベストアンサー

Windowsで定期的にUNIXへFTPすることを自動化したいです

Windows2000使っています。 WindowからFTPでUNIXサーバに接続してあるファイルをgetしてくる 作業を、1日1回自動的に実行したいと思ってます。 やり方としては、 1.Windowsでgetの内容が記載されたBatファイルを作成する。 2.Windowsのタスクスケジューラである時間にそのBatファイルを   実行するように設定する。 っといったようなことをすればよいのかと思いますが、具体的に どのような内容のBatファイルを作成すればいいのかがわかりません。 サーバ名:Server01 User: User01 、Pwd:Password Getしたいファイル名:AAA.xml として以下のようなBatファイルを作ればよいのかと思うのですが、 FTPのコマンドをどこに記載してあげたらよいのかがわからなかった のです(コマンドラインにFtpコマンドいれればできるのですが、 定期的にやるにはどのようにしたらよいのかがわかりませんでした)。 ------------------------------ open server01 user01 password get /logfiles/AAA.xml quit ------------------------------ お手数をおかけしますが、どなたかご教示いただければと思います。 よろしくお願いいたします。

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

  • ベストアンサー
  • sick65
  • ベストアンサー率46% (12/26)
回答No.2

まずFTPバッチを作る際は、コマンド用のテキストを作成する必要があります。 以下バッチ内容 -------------------------------------------------- @ECHO OFF REM FTPテキスト作成 ECHO OPEN server01>ftpcmd.txt ECHO user01>>ftpcmd.txt ECHO password>>ftpcmd.txt ECHO get /logfiles/AAA.xml>>ftpcmd.txt ECHO BYE>>>ftpcmd.txt REM FTP実行 ftp -s:ftpcmd.txt -------------------------------------------------- ECHOでコマンドを書込み、『ftp -s:』コマンドでテキストを 読込ませます。 というような感じです。

harerun
質問者

お礼

ご回答ありがとうございました。 なるほど、私が記載したバッチファイルの内容をECHOにてftpcmd.txt という形にし、最後にftp-sでその内容を実行するということですか。 このECHOというコマンドが使ったことなかったので、どのように Ftpの部分を使うのかがわかりませんでした。 一度上記で試してみます。ありがとうございます。

その他の回答 (1)

noname#57972
noname#57972
回答No.1

考え方はそのとおりだと思います。 具体的には下記サイトが参考になることでしょう。 「タスクの管理方法」の「Windows 2000の場合」 http://www.atmarkit.co.jp/fwin2k/win2ktips/582schtasks/schtasks.html

harerun
質問者

お礼

タスクの利用方法の参考サイトのご紹介ありがとうございました。 あとはFtpをどのようにするかかが解決すればと思います。

関連するQ&A

  • プロキシサーバー経由で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コマンドを使って、行うことは無理な のでしょうか。その場合、ほかにはどのようなやり方が考えられるでしょうか。どなたか、ご助言 いただけませんでしょうか。

  • 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 のように書き換えても同じくループされます。 わかる方いらっしゃいますでしょうか? よろしくお願いします。

  • バッチによるWinNT→UNIXのFTPの記述方法

    WindowsからUNIXへファイルを転送したいため、 Windowsでmmm.batを作成したのですが、 以下の内容で、Win98→UNIXはOKだったのですが、 WinNT4.0(ws)→UNIXでは、上手くいきません。 どのようにすれば、よいのでしょうか? mmm.batの内容 -------------------------------- ftp -n << d:\temp\nnn d:\temp\nnnの内容 -------------------------------- open 123.234.345.456 <- IP address user abc abc <- USER Password lcd d:\temp\log <- Local Dir cd /usr/bbb <- UNIX Server Dir put aaa.txt bye

  • FTP操作の自動化

    どこで質問するべきか迷う質問なのですが、 とりあえず、ここに投稿してみます。 FTPダウンロードの操作を自動化するために open IPaddress userid password lcd c:\ bin prompt cd data get filename bye こんな感じで、ファイルを作成し、WINDOWS上でバッチファイルより、呼び出し、FTP操作を自動実行しています。 UNIX系のFTPサーバーにはこれで問題なく、動くのですが、なぜかIISのFTPサーバーだと FTPサーバーを呼び出した時点で止まってしまいます。 設定次第で、動きそうではありますが、どこを変更するべきなのかわかりません。 ご存じの方、宜しくお願い致します。

  • windows10上でのftpサーバにて550

    お世話になります。 windows10上にftpサーバを作成し、win10クライアントから windows標準のftp.exeでアクセスしています。 以下のファイルにアクセスしようとしていますが、lsコマンド で目的のファイルがない場合、550のエラーが発生してしまいます。 windows7上に作成したftpサーバでは226が返ってきます。 何とか、windows10で実行した場合でも、windows7と同じ結果 (226)を返すことはできないでしょうか。 バージョン iis10.0 ftp10.0 例 ftpサーバ folder01/aaa windows7 ftp> ls /folder01/aaa 200 PORT command successful. 125 Data connection already open; Transfer starting. /folder01/aaa/aaa 226 Transfer complete. ftp: 35 バイトが受信されました 0.00秒 35000.00KB/秒。 ftp> ls /folder01/bbb 200 PORT command successful. 125 Data connection already open; Transfer starting. 226 Transfer complete. windows10 ftp> ls /folder01/aaa 200 PORT command successful. 125 Data connection already open; Transfer starting. /folder01/aaa/aaa 226 Transfer complete. ftp: 35 バイトが受信されました 0.00秒 35000.00KB/秒。 ftp> ls /folder01/bbb 200 PORT command successful. 550 The system cannot find the file specified.

  • 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に内容により他の処理を実行するところも作りこんでいて問題なく使用していた為、今更変更できない状況です。(パッシブモードの事さえ知らず動いていました) 何が何だかわからない状態です、お知恵をいただけないでしょうか・・・

  • ftpコマンドを使ったファイル転送

    お尋ねします。 ftpコマンドを使って、接続したフォルダの配下のroot2というフォルダへファイル転送を行いたいのですが、どのようにコマンドを入力すればいいのでしょうか。 サーバーには、接続ができていることは確認できました。 C:\>ftp サーバー名 Connected to サーバー名 220 Microsoft FTP Service User (サーバー名:(none)):ユーザー名 331 Password required for ユーザー名. Password: 230 User ユーザー名 logged in. ftp> よろしくお願いします。

  • コマンドプロンプトを使ったFTPの自動化(応用)

    バッチファイルを作成して、FTPでファイルをサーバーにアップする事は旨く行きました。 以下のサイトを参考にしました。 http://www.ponko2.com/ftp_bat.html ただ、応用しようと思って行き詰っております。 複数のサーバー(100個以上ある)にファイルをアップロードしたいのですた、 同じファイルを複数作るのではなく、もっと効率のよい方法が無いかと思って質問させていただきます。 私の理想としては、サーバー情報を書いたテキストファイル(1行1サーバー情報)を用意して、 そこから1行ずつ読み込んで実行していくというプログラムは書けないのでしょうか? テキストファイルには、1行ずつ以下の情報を入れます。 「FTP先サーバー,ID,パスワード,アップロードする場所,ファイルの場所」 これを1行ずつ読み込んで、実行していくという事って可能でしょうか? 以下のデータの★の部分をテキストから読み込んで、テキストの行が終わるまで実行し続けてほしいです。 open ★(FTP先サーバー) ★(ログインユーザー名) ★(パスワード) asc prompt cd ★(アップロードする場所)\aaa lcd ★(ファイルの場所)\aaa mput * cd ★(アップロードする場所)\bbb lcd ★(ファイルの場所)\bbb mput * 。。。複数のフォルダがあるのでその中のファイルをすべてアップロードしていく bye わかる方居ましたら教えていただけると助かります。

  • FTPコマンドでサーバのファイルをget後変更する

    BATファイルで、FTPコマンドを実行するコーティングで、サーバのファイルをgetした後でファイル名を ファイル名_hhmmss (hhmmss:タイムスタンプ 時:分:秒)に変更するには、どのようなコーティングをすればいいのか教えてください。よろしくお願いします。

  • FTPの操作をbatファイル化したいです!

    windowsXP上から、UNIXのサーバーに対して、コマンドプロントを使用し、以下のようなコマンドを打ちたいのですが、毎回この作業をするのは大変なので、以下のコマンドをbatファイル化したいのですが、どのようにすればいいかわかりません。 参考になるようなサイトもいくつか見たのですが、いまいちわからないので、このサイトを参考にして下さいとの回答ではなく、ずばりbatファイルにどのように書けばいいのか教えてください。 お願いします。 C:\Documents and Settings\name>ftp ftp> open 10.1.1.1 Connected to 10.1.1.1. 220 ProFTPD 1.2.2 Server (ProFTPD) [tdc01s] User (10.1.1.1:(none)): loginname 331 Password required for loginname. Password: 230 User loginname logged in. ftp> cd .. 250 CWD command successful. ftp> cd .. 250 CWD command successful. ftp> cd tmp 250 CWD command successful. ftp> put test.txt 200 PORT command successful. 150 Opening ASCII mode data connection for test.txt. 226 Transfer complete. ftp: 4 bytes sent in 0.00Seconds 4000.00Kbytes/sec. ftp> bye 221 Goodbye.