毎日決まった時間にFTPサーバーからファイルをダウンロードするには?


HQ  2005-11-19 04:10:05  No: 127923

毎日決まった時間にFTPサーバーから filename[ddmmyy].datをダウンロードしています。

自動的に以上の作業をさせたいですが、VBSを使って、どうすればよいでしょうか?

何卒よろしくお願いします。


ガッ  2005-11-19 04:28:50  No: 127924

うーん、とりあえず InetCtls.Inet クラスについて調べてみてください。
決まった時間に実行されるようにするには、コンパネのタスクについて調べると嬉しくなれるかも。


いな  2005-11-19 05:39:33  No: 127925

VBSかぁ〜。
バッチファイルならば、何の苦労もいらないと思うんだけどなぁ〜。


ひろ  2005-11-19 21:06:57  No: 127926

NT/2000/XP/2003ServerならATコマンドで何とかなるかもしれません


あん  2005-11-20 03:15:03  No: 127927

>バッチファイルならば、何の苦労もいらないと思うんだけどなぁ〜。
VBSだと苦労するの?  どんなとこ?
VBSでも問題ないと思うけどな

バッチファイルでできることはVBSでできると私は思ってたけど
認識不足かな?


ガッ  2005-11-20 03:30:59  No: 127928

> VBSだと苦労するの?  どんなとこ?
同じ「様な」物は結構苦労するものではないかと。
(CのようなDとか)

> バッチファイルでできることはVBSでできると私は思ってたけど
> 認識不足かな?
誰もできないとは書いていません。
しかし、VBSがバッチファイルと同等のことが出来るからと言って、
.vbsファイルにバッチファイルの内容をコピペしても動きませんよね?
というわけで、差異を埋めるのが面倒なだけかと。


あん  2005-11-20 03:54:15  No: 127929

今までFTPを手動で行ってたのであれば
同じようなことを自動でできる方法があります。

WScript.ShellのEXEメソッドを調べてみてください。
FTPの自動運用が今までと同じような操作でできます。

時間指定起動はタスクを使用してください。

>.vbsファイルにバッチファイルの内容をコピペしても動きませんよね?
そういう意味ですか  わかりました。


ガッ  2005-11-20 03:58:16  No: 127930

('A`)…
言いたかったのは
> 差異を埋めるのが面倒なだけかと。
という部分なわけですが…

※ところでWScript.ShellはどのWindowsから標準で使えるのだったろうか…


あん  2005-11-20 03:58:29  No: 127931

まちがえました。

>WScript.ShellのEXEメソッドを調べてみてください。
EXECを調べてみてください。


あん  2005-11-20 04:02:49  No: 127932

>> 差異を埋めるのが面倒なだけかと。
>という部分なわけですが…
ここはまだ理解できてません。
これから0からVBSで作るのに
バッチファイルならば、何の苦労もいらないと思うんだけどなぁ
と言ってるのは理解できてません。
これだと0から作るのならバッチのほうがVBSより楽だと言ってるように見えます。


いな  2005-11-20 20:06:49  No: 127933

>これだと0から作るのならバッチのほうがVBSより楽だと言ってるように見えます。

個人的な見解ですよ。
バッチファイルならば、サンプルが転がっているのでコピペで終了〜
VBSもあるんだろうけどね。

ただ、何処まで出来ているのか説明できないような質問者の場合、
簡単に検索して見つかるバッチファイルのほうが、簡単に解決に向かえる。ということです。


HQ  2005-11-23 05:07:14  No: 127934

皆様
沢山のコメントありがごうございます。

バッチファイルとタスクの組み合わせでできました。
しかし、勉強のためにVBSでもやってみたいと思います。
InetCtls.inetについていろいろ調べました。

cmd="get filename.dat"
set inet = createobject("inetctls.inet") 
inet.requesttimeout=60 
inet.protocol=icFTP 
Inet.URL = "ftp://TheURL/
Inet.UserName = "myname" 
Inet.Password = "mypassword" 
inet.execute , cmd 
・・・

実行したら、
ActiveXコンポーネントはオブジェクトを作成できません。:'inetctls.inet'
コード: 800A01AD
というエラーがでました。2行目を 
set inet = server.createobject("inetctls.inet")
変更したら、
オブジェクトがありません。:'server'
コード:800A01A8
というエラーが出ました。

どうすればよいでしょうか?
何卒よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加