VBSで *.txt をサーバーにFTPするには?
お世話になります。
早速ですが、
「ftpserver の plt00h フォルダー に *.txt をアップロードする」VBSのプログラムを作るため、
調べたところ、「ファイルをFTPするプログラムをNameSpaceで記述できる」とあったので
見てみると、JavaScript で記述してる例でした。
この例をもとに、VBSにする挑戦をしていますが、なかなかうまくいきません。
== JS sample ============================
var oShell = WScript.CreateObject("Shell.Application");
var oFolder = oShell.NameSpace("ftp://ftpusr:ftpusr@ftpserver/plt00h/")
var desktop = oShell.NameSpace(0);
var objFolderItems = desktop.Items();
for(var i = 0; i < objFolderItems.Count; i++) {
var ofitem = objFolderItems.Item(i);
if(ofitem.Name == "a.txt") {
oFolder.CopyHere(ofitem);
WScript.Sleep(6000);
break;
}
}
====================================================
上のコードをもとに、
「ftpserver の plt00h フォルダー に *.txt を,plt00vに *.org をアップロードする」
VBSのプログラム書きたいのですが、なかなかうまくいきません。
== VBS =============================================
Option explicit
Dim oShell, FolderH, FolderV, desktop, objFolderItem
Set oShell = WScript.CreateObject("Shell.Application")
Set FolderH = oShell.NameSpace("ftp://ftpusr:ftpusr@ftpserver/plt00h/")
Set FolderV = oShell.NameSpace("ftp://ftpusr:ftpusr@ftpserver/plt00v/")
Set desktop = oShell.NameSpace(0)
Set objFolderItems = desktop.Items()
FolderH.CopyHere("*.txt") ← FTPサーバーのplt00h ヘ*.txtをアップロード?
FolderV.CopyHere("*.org") ← FTPサーバーのplt00v ヘ*.orgをアップロード?
WScript.Sleep(6000)
====================================================
FTPホスト :ftpserver,
FTPユーザ :ftpusr
FTP パスワード :ftpusr
FTP先DIR :plt00h, plt00v
送信対象ファイル: :*.txt, *.org
ちなみに、 ftp -s: ftp.txt の方式は、VBSで作成して、実行できました。
ご指導よろしくお願いいします。
補足
早速ご回答頂き、まいどありがとうございます。 すみません、WSHやVBSにこだわる事自体に無理があったようです。 この操作を行う方が殆どPCの知識に乏しい為、 目標としましては自動的にFTPサーバー内のTXTを自動的に処理してくれるような簡単な仕組みを狙っていました。 また、その処理をデスクトップ上からリクエストを行えるようにしたかったのですが。。。。