• ベストアンサー

ftpのコマンド詳細をお教えください。

「UNIXファイルサーバ内のデータ群」を「Win2000ProのDISK内」に、PC側の操作(FTP)で持ってこようと思います。FTPは出来るのですが、UNIXファイルのあるディレクトリ以下をすべて(子、孫ディレクトリを含めて(穴を掘って))持ってきたいのですが、ftpでサーバに入ってから prompt bin mget * とすると、直下のファイルと、その子は取ってこれます。でも孫以下のディレクトリ以下が持ってこれません。どのようにすれば可能でしょうか? また、持ってこれた子ファイルは、PC内の同一フォルダに一斉に落ちるため(フォルダを生成してくれない)ファイル名が重複している場合こまります。 PC側にも、元と同じようなディレクトリ構成で持ってくるにはどのようにすればいいでしょうか?

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

  • ベストアンサー
  • ara_ara
  • ベストアンサー率35% (124/348)
回答No.2

私の知る限り、1つのコマンドでサーバのファイルをツリーで全て取得するものはありません。 http://ash.jp/net/ftp_command.htm ご希望のような処理をするには複数のコマンドを組み合わせてください。その際、バッチ的にやりたければコマンドを記述したファイルを用意しておいて  ftp -n < file のようにすれば一連の処理が連続して行なわれます。 http://www.itmedia.co.jp/help/tips/linux/l0462.html それが面倒なら、FFFTPなどのGUIのツールを使った方がいいかと思います。 http://www2.biglobe.ne.jp/~sota/ffftp.html

epson01
質問者

お礼

ありがとうございます。 FFFTPはなかなかいいのですが「.XXXX」ファイルが取得できないようです。 大変参考になりました。

その他の回答 (5)

  • ara_ara
  • ベストアンサー率35% (124/348)
回答No.6

#2です。 >FFFTPはなかなかいいのですが「.XXXX」ファイルが取得できないようです そうですか? 私の環境では、.で始まるから取得できないということはありませんが... 表示しない場合は、表示→.で始まるファイルを表示 にチェックを入れてください。 ダウンロードできない場合は、パーミッション(属性)を確認してみてください。 ついでにもうひとつ「RootFTP」というソフトを紹介しておきます。 (個人的にはこちらのほうが気に入っています) http://ftp.hm/rootftp/

参考URL:
http://ftp.hm/rootftp/
epson01
質問者

お礼

ありがとうございました。 パーミッションディナイドでエラーになっていました。権限のあるユーザでログインすると「.」も取れました。

  • mi-si
  • ベストアンサー率35% (200/567)
回答No.5

コマンドラインベースならwget使うと楽ですけど。

参考URL:
http://hp.vector.co.jp/authors/VA013241/log/windows9x.html
epson01
質問者

お礼

ありがとうございます。 参考URLを見てみます。

  • kite2
  • ベストアンサー率0% (0/1)
回答No.4

ホームページビルダーにはそういった機能があります。 持ってなければ意味ありませんが・・・。

epson01
質問者

お礼

ホームページビルダーはありますので試してみます。 ありがとうございました。

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.3

多分,fptのプロトコル自体にそういった機能がなかったはずですので、通常のftpではできません。 ffftp等は、内部で複数のコマンドを出してその結果を読み取りつつ動作していると思います。 (ファイル一覧を得て,ディレクトリを見つけるとcd,mkdir,mget,lsの繰り返し) unix側でコマンド実行が可能(telnet,rsh,rlogin等)なら、tar等でアーカイブしてそれをgetして展開する手はあります。

epson01
質問者

お礼

ありがとうございます。DISK容量が余りありませんので、そのDISK内にアーカイブ化できない事情がございます。 ありがとうございました。

  • kagekun
  • ベストアンサー率40% (25/61)
回答No.1

ドシロウトの戯言で申し訳ないのですが、 FTPってホームページ転送とかにも使っているやつですよね。 それでしたら、フリーのFTPソフトとかで、できないのでしょうか? 以前、ホームページから自分のPCに書き戻したとき、 フォルダーとかもきちんと作ってくれた記憶があるのですが。。。 ごめんなさい、素人で。。。

参考URL:
http://www2.biglobe.ne.jp/~sota/
epson01
質問者

お礼

ありがとうございました。

関連するQ&A

  • ftpのmgetコマンドの自分の格納場所の指定方法は?

    先日、ftpコマンドについてこのサイトで色々教えていただき感謝しております。 複数のファイルを受信するのにmgetコマンドを教えていただいたのですが、 相手より受信した場所の格納場所の指定が上手くいきません。 先方にFTPとしてログインでき、"PROMPT"→"MGET *"と行うのですが、受信したファイルの格納場所がCドライブの直下になってしまいます。 自分のインターネットサービスマネージャーの ルートは別のフォルダに設定してあるのですが、これは受信したデータの初期値にはならないのでしょうか? また、調べたところ省略すると、ワーキングディレクトリに作成されるみたいにかかれていましたが、ワーキングディレクトリはどこかで指定できるのでしょうか? たとえばC:\AAAに受信したファイルを格納したい場合はどうやって書けばよいでしょうか? MGET * C:\AAA見たいに色々試して見ましたが、駄目でした。

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

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

  • FTPコマンドについて

    OSは2000Serverを使っています。コマンドプロンプトから入力するFTPコマンドにつき、二つ質問があります。 (1)ローカル(自分の端末)のあるディレクトリ配下すべてのディレクトリ・フォルダまるごとをFTPでアップロードしたい際、コマンドでなんと入力すればよろしいですか? (mput *ではすべてのファイルを転送するもののディレクトリは転送しないためmkdirでディレクトリを作成し、それぞれにmputするということしかできないのでしょうか?) (2)ログインするとC:に自分がいます。!dirでC直下のディレクトリを見るとたくさんありますが中でもDocuments and SettingsとProgram Filesについてはlcdで場所を移動できません。デスクトップにあるファイルを転送したいときなど、Documents and Settingsの下にいく必要がありますがどうすれば移動できますか?

  • コマンドプロンプト FTPコマンドについて

    こんばんわ。 今回はコマンドプロンプトのFTPコマンドについて質問させてください。 処理概要 Windowsバッチにて、サーバA(Windows)からサーバB(UNIX)にFTPでファイルを複数送りたい その際、FTPが成功したか失敗したかをログファイルに出力したい。 以下プログラム set logDir=C:\hogehoge\log\ set settingFileName=C:\hogehoge\upload.ftp set execDate=%date:~-10,4%%date:~-5,2%%date:~-2,2% set logFileName=%logDir%log_%execDate%.txt echo FTPバッチ起動 >> "%logFileName%" cd C:\hogehoge echo FTP開始 >> "%logFileName%" ftp -s:"%settingFileName% >> "%logFileName%" upload.ftpというファイルには以下のように記述しております。 ftp open サーバIP ポート ログインID パスワード binary prompt mput *.csv bye この2種類のファイルで、FTPは出来るのですが、 どうにかして成功/失敗を判断したいです。 どなたかわかる方、ご教授お願いいたします。 補足 UNIX上のバッチ処理(Cシェル)でもファイルがあるかどうか判断していますが、 WindowsでFTP失敗の場合、メールを送りたくてこのようなバッチを作成しました。

  • ftpコマンドで丸ごとダウンロード

    ftpコマンドでWebのドキュメントルートごとgetはできませんか? getで1ファイル落とせます。 mgetでカレントのファイルを全て落とせます。 それだけでなく、 ディレクトリを丸ごとダウンロードしたいのですが、それはftpのコマンドでは無理なのでしょうか? いろいろ検索してみました。 下記のような情報はあります。 http://sasuke.main.jp/ftpcommand.html でも、ディレクトリ毎落とせるのかどうかイマイチわかりません。

  • FTPでのディレクトリのアップロード方法とタイムスタンプ

    (1)FTPでのディレクトリのアップロード方法 DOS窓から、FTPコマンドで、FTPサーバーにログインし、putやmputでファイルをアップロードする際に、ディレクトリをアップロードする方法をご存知の方がいらっしゃれば教えてください。 サブフォルダ以下すべて、ディレクトリ構成ごとアップロードしたいと考えています。FFFTP等のツールを使わずにコマンドラインからやりたいと思っています。 (2)FTP時のタイムスタンプ WindowsのクライアントPCから、UNIXのサーバーにファイルをアップロードすると、タイムスタンプがファイルをアップロードした時間に置き換わってしまい、もともとのタイムスタンプが書き換えられてしまいます。タイムスタンプをそのままにしてアップロードすることが可能であれば、教えてください。できれば、コマンドラインからがいいですが、不可能ならFFFTP等のツールを使用しようと思っています。 よろしくお願い致します。

  • FTP 転送コマンド

    Free BSD4.8でFTPを使いputコマンドでフォルダ(ディレクトリ)ごと転送するとnot a plain fileとエラーがでました。フォルダごと転送するにはどうすればいいでしょうか。もしくはそのディレクトリのファイル全てをまとめて putするにはどうすればいいでしょうか?よろしくおねがいします。

  • ftp処理でmove(移動)を行いたい

    バッチ処理でデータをftp受信しています。 --------------------------- ユーザ名 パスワード prompt mget abc*.log mdelete abc*.log bye --------------------------- このようなコマンドを行っています。 ftpサーバにはさまざまなファイルが随時生成されます。 この処理では定期的に abcで始まる全てのログファイルをgetし、 abcで始まる全てのログファイルをdeleteしています。 ところが、abcで始まるファイルの生成がランダムのため、 偶然mgetが終わった後でファイルが生成され、 mdeleteを行うと、getしていないファイルまで削除される恐れがあるのです。 そのため、一件ずつ移動を行いたいのですが、 調べてもmoveのようなコマンドがftpで見当たらないのですが なにか、moveに置き換わるような処理はないでしょうか? *windows同士の通信です。

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

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

  • FTPコマンドでgetしたい

    FTPコマンドでファイルを転送したい。操作はクライアントで行っています。 サーバ⇒クライアントです。ディレクトリー構成は。(サーバー側)c:\2.txt を⇒(クライアント側)c:\2.txt に転送したいのですがエラーが出ます。次のように実行しています。 ftp>get c:\2.txt c:\2.txt としています。これを実行すると次のエラー 【550 c:\2.txt :The filename is incorrect】 と出ます。どうすればよいでしょうか? ファイルタイプもascii にしたりbin にしたり試しているがだめです。 お願いします。