Foren: Q&Aフォーラム (Thread #24399)

csvftp2でのダウンロードで、ディレクトリ名に日付が入る (2009-10-29 21:33 by norunoruka #46727)



csvftp2を使ってDIRダウンロードした際に、ローカルのフォルダに日付が入った名前で転送されます。

#mode,binary
#dir_down,/xxxxx/,C:\受信データ,upload

のようにuploadというDIRをダウンロードした際に、その中にある "11111" のようなDIRが、
"12月 2009年 1111" のようなフォルダ名でローカルに転送されます。

FTPサーバはUNIX(Solaris)、クライアントはWindowsXpです。
Windows2000から環境を移そうとした際にこのようなケースが発生しました。
OSの問題かと思ったのですが、Windows2000の別のPCに入れても同様な結果になりました。

OSの言語の設定などをいろいろいじった感じでは、うまくいきませんでした。


何かご存知の方いらっしゃいましたら、対処を教えてください。
よろしくお願いします。

RE: csvftp2でのダウンロードで、ディレクトリ名に日付が入る (2009-10-29 23:52 by sky_seeker99 #46728)

norunorukaさん、はじめまして。
S.Kasuyaです。

csvftp2はwininet.dllのAPI関数のFtpFindFirstFileとInternetFindNextFileを使用してftpサーバー上のファイル名やディレクトリ名を取得しています。
UNIX(Solaris)はあまり詳しくないのですが、問題はFTPサーバー側にあります。

下記のURLから情報を引用させていただくと、
http://megawatt.blogdns.net/blog/daylist_html?year=2006&month=5&day=12

Windowsで(wininet.dllのAPI関数のFtpFindFirstFileとInternetFindNextFileを使用して)
Solarisからftp(get)する場合、UNIX側でファイル名を取得できない。
対策としては『Solaris側のFTPサーバーの設定を日本語モードではなく英語モードにする』
と書いてあります。
詳細は引用先のURLを参照してください。

サーバー側の設定を変えて試していただけないでしょうか?

よろしくお願いいたします。


Reply to #46727

RE: csvftp2でのダウンロードで、ディレクトリ名に日付が入る (2009-11-05 21:04 by norunoruka #46851)

S.Kasuyaさん。
回答ありがとうございました。

回答いただいた内容をもとに以下の環境で試したのですが、結果は変わりませんでした。
  ・wininet.dllのバージョンを揃える。
  ・Windows、IE、wininet.dllのバージョンが同じ別のPCで試す

csvftp2で、OSの設定や環境変数を参照しているなど、PCの違いによって
動作が変わる可能性のある処理はないものでしょうか?
FTPサーバ側は同じものを使用しているため、PCを替えると

何か情報がありましたらよろしくお願いします。
Reply to #46727

RE: csvftp2でのダウンロードで、ディレクトリ名に日付が入る (2009-11-05 21:06 by norunoruka #46852)

S.Kasuyaさん。
回答ありがとうございました。

※途中で送信してしまったので、再登録します。

回答いただいた内容をもとに以下の環境で試したのですが、結果は変わりませんでした。
  ・wininet.dllのバージョンを揃える。
  ・Windows、IE、wininet.dllのバージョンが同じ別のPCで試す

csvftp2で、OSの設定や環境変数を参照しているなど、PCの違いによって
動作が変わる可能性のある処理はないものでしょうか?
FTPサーバ側は同じものを使用しているため、PCを替えると発生するような
要因があるのではないかと考えています。

何か情報がありましたらよろしくお願いします。

Reply to #46851

RE: csvftp2でのダウンロードで、ディレクトリ名に日付が入る (2009-11-08 10:59 by sky_seeker99 #46866)

FTPサーバーの件は平行線を辿りそうなので、議論はやめときます。

サーバー上のディレクトリ名とファイル名に半角スペースが無ければ、
#xmode
#mode,binary
#dir_down,/xxxxx/,C:\受信データ,upload

と#xmodeコマンドをつければ今回の問題は回避できるかもしれません。
(#xmodeコマンドをつけると、ディレクトリ名の"12月 2009年 "を削除して処理してくれます。)

あと、csvftp2で無ければ困るという事がなければ、「GNU Wget」

http://mgw.hatena.ne.jp/?url=http%3a%2f%2fwww%2egnu%2eorg%2fsoftware%2fwget%2fwget%2ehtml&noimage=0&split=1&extract=on

というツールの方が便利で使いやすいと思います。
使った事は無いのですが、ftpのディレクトリ丸ごとダウンロードが使えたと思います。

よろしくお願いいたします。

Reply to #46727