人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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切断
---------------------

●質問者: clinejp
●カテゴリ:コンピュータ インターネット
✍キーワード:AAA co.jp FTP password test
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ●
●27ポイント

ファイルリストを「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]

◎質問者からの返答

ありがとうございます。

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

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

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

ファイルリストは配列

「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切断


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

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

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

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

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

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

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

[参考URL]


3 ● laq
●26ポイント

「なでしこ」の 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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ