• 締切済み

FTPで存在しないファイルをGETしたときの動作について

皆様 FTPコマンドで、FTPサーバ上に存在しないファイルをGETした場合の動作について教えてください。 Windowsのコマンドプロンプトで、FTPを使い、ファイルを取得しようとしています。 たまたま、取得対象ファイルがサーバ上に存在しない場合、サーバからのステータスコードは550であるのに、0バイトのファイルが保存されてしまいます。 これは、通常の動作でしょうか? (私の知る限り、0バイトファイルを生成するFTPクライアントは無いのですが…) あるいは、何か設定等に問題があるのでしょうか? 設定等に問題が有る可能性があれば、それを教えてください。 ちなみに環境は 【クライアント】 OS:WindowsXP SP2 【サーバ】 OS:Windows2003サーバ FTPサーバ:Microsoft FTP Service(IIS) です。 よろしくお願いします。

みんなの回答

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

>Windowsのコマンドプロンプトで、FTPを使い >サーバからのステータスコードは550であるのに、0バイトのファイルが保存されてしまいます。 >これは、通常の動作でしょうか? C:\WINDOWS\FTP.EXEの「仕様」ですので、通常の動作です。 但し、その「仕様」は通常の動作ですが、正しい動作ではありません。 >(私の知る限り、0バイトファイルを生成するFTPクライアントは無いのですが…) 貴方の目の前のパソコンの「C:\WINDOWS\」に「FTP.EXE」って名前で「0バイトファイルを生成するFTPクライアント」が存在しています(笑)

nicnicnic
質問者

お礼

ご回答ありがとうございます。 >但し、その「仕様」は通常の動作ですが、正しい動作ではありません。 その通りですね。 ローカルに同名のファイルが有る場合、0バイトのファイルで上書きされてしまいます。 言い方だと思いますが、個人的には「バグ」だと思いますね。 ありがとうございました。

関連するQ&A

  • FTPのGetで応答がありません。

    FTPサーバはUnixでFTPクライアントはWindowsです。 単純にコマンドプロンプト画面からftpを行い、 サーバーからファイルを取得しようとしたところ、 応答がありません。 何が原因なのか皆目見当がつかない状況です。 考えられる原因を教えていただけないでしょうか?

  • FTPサーバ(ACOS)にあるファイルをgetコマンドで取得したいです。

    (1)やりたいこと FTPサーバ(ACOS)にあるファイル(CSVファイル)を、クライアントPC(WindowsXP)から「getコマンド」を用いてダウンロードしたいです。 また、「putコマンド」を用いてファイルのアップロードも行いたいです。 (2)質問内容 上記の作業をクライアントPCのコマンドプロンプトより実施したいのですが、どのようなコマンドを入力していけばいいのかが分かりません。 何か分かる方がいらっしゃいましたら、教えてください。よろしくお願いします。 ※実はACOSというものを触ったことがなく、詳しい情報が書けません。(すいません。)

  • FTPのPUT、GETについて

    FTPのPUT、GETについてお教え下さい。現在サーバーの設定は完了し、DOS画面よりFTPでPUTを行っているのですが、送信先となるサーバーにファイルサイズがゼロのファイルが作成され、途中で止まった状態になってしまいます。GETも同様でサーバーからクライアントにファイルを取得はしているのですが、ファイルサイズがゼロのファイルが作成され止まった状態になってしまいます。また、他のサーバーでPUT、GETを行うとPUT、GET共にファイルの取得も送信も出来ます(クライアントは同じPCを使っています)。やはりサーバーの設定が足りないのでしょうか? どなたか対策方法をご存知の方がいましたらお教え下さい。よろしくお願い致します。

  • FTPファイルのget後のファイル削除について

    IIS7.5とWindows Server 2008 R2でFTPサーバーを構築しています。 FTPサーバーにファイルを保存して、そのファイルをお客様がFTPサーバーに 接続してgetします。 その際に、同じファイルが2回get出来ないように、getされたファイルのみを 削除したいと考えています。 また、getされた場合だけ削除したいので、getされていないファイルの削除は 出来ない為、コマンドによる自動削除は行えません。 getされた場合にのみ該当ファイル削除するようなソフトや方法などがあれば お教え下さい。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • ftp受信確認

    FTPサーバはwindows2003のIISです FTPクライアントはwindows2000,xpの標準添付のftpコマンドです バッチファイル中でFTP -S:C:\FTPCMD.TXT みたいな感じで起動していますが FTP正常・異常にかかわらず常にERRORLEVELは0が 返ってきます なんとかバッチファイル中で正常通信できたか できないか判断したいのです その判断方法をアドバイス下さい ※その他の手段として  バッチファイルでコマンド起動できるFTPクライアントソフト  (できればフリー)を使えばERRORLEVELが返ってくるよという  ものがありましたら紹介頂けると嬉しいです もしくは ProFTPDが転送中のファイルを".in.{ファイル名}"として、転送完了すると"{ファイル名}"に変更する機能がある そうですがこれと同じような機能はIISのFTPにはないのでしょうか? 設定を探してみましたが見つかりませんでした (FTPサーバーはIIS以外に変更できません)

  • ftp_getできない?

    レンタルサーバの自前のファイルサーバからFTP接続にてファイルを取得しようとしているのですが、エラーとなってしまいます。 FTP接続はできているのですが、ファイルの取得に失敗(FALSE)してしまいます。 レンタルサーバの環境は OS:Linux PHP:4.4.1 試しにftp_nlist関数にてファイル一覧を取得しようとしましたが、やはり失敗(FALSE)してしまいます。 知り合いのレンタルサーバを借用して全く同じプログラムを実行すると正常に一覧の取得ができました。 FTP接続時・ログイン時にはエラーが発生していないのでFTPでの転送は可能だと思うのですが、全くわかりません。 どなたか分かる方ご教授お願いします。 以下、スクリプトです。 if($ftp=ftp_connect($ftp_host)){  if(ftp_login($ftp,$ftp_user,$ftp_pass)){   //ファイルリスト一覧取得    $file_list=ftp_nlist($ftp,".");   var_dump($file_list);   //ファイルダウンロード    if(!(ftp_get($ftp,$local_file,$remote_file,FTP_BINARY))){     エラー処理1;    }   }   else{     エラー処理2;   } } else{  エラー処理3; }

    • ベストアンサー
    • PHP
  • FTP通信がおかしい

    自宅のパソコンWindows2000ServerのIISでFTPサーバを構築しました。 外部インターネット環境でコマンドプロンプトからログインし、テキストファイルのアップロードが無事に行えることを確認することができましたが、なんだか変なことがいくつかあります。 (1)かなり高い確率で、コマンド入力後(put *、dir等)、固まってしまい、反応がなくなってしまう(テキストファイルの場合、サイズが小さいためか成功することが多いがワード等大きいものの時よく起こるようです、その場合FTPディレクトリには0バイトのファイルがアップされています) (2)アクセス拒否されてしまうことがある(読み取りも書き込みもOKにしています) 何かご存知の方いらっしゃいましたら教えてください。 よろしくお願いします。

  • IIS FTPサーバーログ中の時刻がずれる

    Windows2000serverでIISによるFTPサーバを立てています。 FTPサーバの時刻が1/9 22:00の時に外部FTPクライアントからアクセスすると、 ログでは、1/9 13:00で記録されていました。 FTPサーバの時刻は正確に設定しているので、ログに残る時刻が9時間遅れていることになります。 コントロールパネル→地域のオプション のロケールは日本語に、 また、日付と地域のプロパティでは、 「(GMT+09:00)大阪、札幌、東京」設定されています。 コマンドプロンプトで「time」と打つと正しい時刻が返ってきました。 どうしてずれてしまうのでしょうか。 直す方法をご存知の方、教えてください。

  • 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 にしたり試しているがだめです。 お願いします。

  • FTPでのGET

    サーバ上にあるファイルをFTPのGETでダウンロードする場合、 転送中のサーバ上のファイルは、どうなるのですか? 切り取りで転送することは可能ですか? サーバ側では、 クライアント側で転送中であるかどうか、 もしくは削除して欲しいのですが。 転送中に、そのファイルを触れないようにするため。