日本語プログラミング言語なでしこの質問です。

ローカルに用意された下記のダウンロードリストを、----------以下のスクリプトに取り込んで一括ダウンローづするにはどうしたらよいでしょうか?
--------以下のプログラムは正常に動いております。

-------ダウンロード元ファイルリスト

test1.txt
test2.txt
test3.txt
test4.txt


---------------------

------------スクリプト

サーバーは「xxx.aaa.bbb.co.jp」
ユーザーは「xxxxx」
パスワードは「xxxxx」
「HOST={サーバー}{~}ID={ユーザー}{~}PASSWORD={パスワード}」でFTP接続
#下記をファイルから取り込みたい

「test.txt」を「{デスクトップ}test.txt」へFTPダウンロード
FTP切断
---------------------

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/10 17:51:10
  • 終了:2006/05/14 11:58:03

回答(3件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数752006/05/11 00:31:52

ポイント27pt

ファイルリストを「C:\list.txt」とした場合、以下のプログラムでlist.txt内に記述されたファイルをダウンロードできます。

ファイルリストは配列
「C:\list.txt」を毎行読んで反復
  ファイルリストに「{それ}」を配列追加
サーバーは「xxx.aaa.bbb.co.jp」
ユーザーは「xxxxx」
パスワードは「xxxxx」
「HOST={サーバー}{~}ID={ユーザー}{~}PASSWORD={パスワード}」でFTP接続
Aは0
ファイルリストの要素数
(A<それ)の間
  「{ファイルリスト¥A}」を「{デスクトップ}{ファイルリスト¥A}」へFTPダウンロード
  A=A+1
FTP切断

[参考URL]

id:clinejp

ありがとうございます。

下記のように、ダウンロードファイル名を指定した場合は正常に動作するのですが、連続して配列ごとのファイルを作成することができません。

原因を教えていただけると助かります。

--------------------------------

ファイルリストは配列

「C:\list.txt」を毎行読んで反復

  ファイルリストに「{それ}」を配列追加

サーバーは「xooba.preits.ne.jp」

ユーザーは「w-xooba」

パスワードは「JFeiwqsA」

「HOST={サーバー}{~}ID={ユーザー}{~}PASSWORD={パスワード}」でFTP接続

Aは0

ファイルリストの要素数

(A<それ)の間

#  「{ファイルリスト¥A}」を「{デスクトップ}{ファイルリスト¥てすと}」へFTPダウンロード

  「{ファイルリスト¥A}」を「{デスクトップ}\ファイルリスト\aaa.txt」へFTPダウンロード

  A=A+1

FTP切断

2006/05/11 09:20:44
id:bonlife No.2

回答回数421ベストアンサー獲得回数752006/05/11 11:42:21

ポイント27pt
  「{ファイルリスト¥A}」を「{デスクトップ}{ファイルリスト¥A}」へFTPダウンロード

の部分を書き換えてしまったため、正しく処理できなくなっております。

この行の意味は以下の通りです。

ファイルリストという配列に読み込んだA番目の内容をデスクトップにファイルリスト配列のA番目の名前で保存する、という意味です。

例を挙げると、list.txtの1行目の内容がtest1.txtである場合、ファイルリストの0番目はtest1.txtになります。

その場合、上記の行は、「test1.txt」をデスクトップにtest1.txtという名前でFTPダウンロードする、という意味になります。

サンプル通りに書き直していただけば問題なく処理できると思いますので、一度お試しください。

[参考URL]

id:laq No.3

laq回答回数152ベストアンサー獲得回数42006/05/11 12:56:30

ポイント26pt

「なでしこ」の FTP 転送にはバグがあるようで、連続してダウンロードしていくと、二つ目以降のファイルの転送に失敗します。成功しているように見えますが、中身が空っぽになります。

http://www.himanavi.net/cgi/010/cbbs.cgi?mode=res&namber=4319&pa...

ここにも同じ質問が出ていました。

あれこれやってみたのですが、二回目以降の転送前に「おまじない」を入れれば、無事に転送できるようです。

具体的には、ファイルリストを取得しなおす、という命令を入れるだけです。

#以降の¥は半角なのですが、\と表示されるので全角で記載しています。


ファイルリストは配列

「C:¥list.txt」を毎行読んで反復

  ファイルリストに「{それ}」を配列追加

サーバーは「*****」

ユーザーは「*****」

パスワードは「*****」

接続1は「HOST={サーバー}{~}ID={ユーザー}{~}PASSWORD={パスワード}」

接続1でFTP接続

Aは0

Bはファイルリストの要素数

B 回

 「{ファイルリスト¥A} を {デスクトップ}{ファイルリスト¥A} へダウンロード」を表示

 #次の行がおまじない

 FTP作業フォルダ取得をFTPファイル列挙

 「{ファイルリスト¥A}」を「{デスクトップ}{ファイルリスト¥A}」へFTPダウンロード

  A=A+1

FTP切断


「おまじない」の行を省いてみると分かりますが、二つ目以降のファイルの中身が空っぽになっているはずです。

また、これとは直接関係ないかもしれませんが、「FTPファイル列挙」の結果が、トップディレクトリで実行すると、

//file1.txt

//file2txt

//file3txt

となり、サブディレクトリで実行すると

/file1.txt

/file2txt

/file3txt

という風になりますので、このあたりの状況も影響しているのかもしれません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません