batファイル,もしくはWSHファイルを使用してのFTPサーバからのファイルダウンロードを行う際の記述方法について質問致します。
行いたいことはFTPサーバ側に日毎のディレクトリが作成され
その中に格納されるテキストファイルを自動でローカルの指定ディレクトリに上書きする手順になります。
WSHに関しては全くの素人なので非常に苦戦しております…
FTPサーバ側
/@day/*.txt
@dayには本日の日付が2桁で入ります。
1月1日なら01、2月23日なら23
Local保存側
D:\temp
お手すきの時にでもご教授頂ければ幸いです。
No.1ベストアンサー
- 回答日時:
FTPコマンドには詳しくないのですがWSHはわかります。
手順はこんな感じでしょうか。(1)FTPコマンドを記述したファイルのテンプレートを作成しておく。
(2)WSHでテンプレートから本日のFTPのためのファイルを作成する。
(3)WSHでFTP -s:ファイル名 ホスト名 を実行する。
そこで(2)の方法ですけれども、例えばFTPコマンドを記述したファイルが C:\FTPtemplate.txt にあり、その中に本日の日付にしたい文字 @day が埋め込んであるものとします。@day を本日の日付2桁に書き換えて C:\FTPtoday.txt を作成するWSH JScriptは下記になります。
// FTPreplace.js
var Ifile="C:\\FTPtemplate.txt";
var Ofile="C:\\FTPtoday.txt";
var Fs =WScript.CreateObject("Scripting.FileSystemObject");
var ForReading=1, ForWriting=2;
var Itxt, Otxt, Iall, Oall, dd, re;
Itxt=Fs.OpenTextFile(Ifile, ForReading);
Iall=Itxt.ReadAll();
Itxt.Close();
dd=(new Date()).getDate().toString(10); if (day.length==1) day="0"+day;
re=/@day/gm;
Oall=Iall.replace(re, dd); // 全ての@dayを今日のddに置き換える
Otxt=Fs.OpenTextFile(Ofile, ForWriting, true); // 上書き
Otxt.Write(Oall);
Otxt.Close();
// ここまで
あとはWSHのRunメソッドでFTPコマンドを実行すればよいと思います。
http://msdn.microsoft.com/library/ja/default.asp …
No.2
- 回答日時:
ANo.1のコードの変数名に迷いがありました。
すみません。dd=(new Date()).getDate().toString(10); if (day.length==1) day="0"+day;
↓
dd=(new Date()).getDate().toString(10); if (dd.length==1) dd="0"+dd;
上記のとおり書き換えたらとりあえず動きましたー
ものすごい低スキルなもんんで下記のようなbatで動かしてたんですが
SHIMAPEE様の書かれたコードの方がスマートですよね・・
del D:\WSHJOB\ftptempdata.txt
set dt=%date%
set dd=%dt:~-2%
echo open ###.###.###.###>> D:\WSHJOB\ftptempdata.txt
echo ID>> D:\WSHJOB\ftptempdata.txt
echo PW>> D:\WSHJOB\ftptempdata.txt
echo ascii>> D:\WSHJOB\ftptempdata.txt
echo lcd D:\textdata>> D:\WSHJOB\ftptempdata.txt
echo prompt off>> D:\WSHJOB\ftptempdata.txt
echo mget /%dd%/*.txt>> D:\WSHJOB\ftptempdata.txt
echo bye>> D:\WSHJOB\ftptempdata.txt
ftp -s:D:\WSHJOB\ftptempdata.txt
del D:\WSHJOB\ftptempdata.txt
これを機にWSHの勉強を始めてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Server 2019 CALについて
-
sims4についてです。 別のパソ...
-
WindowsのエクスプローラーでFT...
-
メールサーバーに送信元IPアド...
-
バックアップ用に25万円のPCを...
-
サーバーマネージャーが消えた
-
Windows server 2022 CALとSQL ...
-
無料のレンタルサーバで、スク...
-
サーバの変更に伴うフォルダー...
-
.htaccessで特定のディレクトリ...
-
CPIのRoundcubeをご存じの方、...
-
印刷ログとは何ですか?
-
サーバーの定期シャットダウン...
-
メール共有の場所にファイルを...
-
別サーバに構築したApache+Tomc...
-
discordで2人だけのサーバー作...
-
Googleに企業サイトを作っても...
-
自社のシステムのサーバーの変...
-
FTP送信元のIPアドレスを調べる...
-
ホームページのサーバーとメー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
Windows上のファイル操作の履歴...
-
バッチファイルでディレクトリ...
-
指定ファイルをFTPで自動アップ...
-
Zipファイルをエクセルに指定変...
-
別のフォルダにファイルを移動...
-
sftp時の公開鍵認証
-
ipadで社内ネットワークに接続
-
Lhaplusが発したと、みられるエ...
-
どうしたらいいか教えて下さい。
-
SystemWalker Centric Manager...
-
Win7のPCのサーバー内のファイ...
-
フォルダへのコピー時に重複に...
-
アプリケーションが見つかりません
-
複数のテキストファイルの特定...
-
ダンプツールとは?
-
Windows 7 標準のZip解凍が出来...
-
回復エージェントによるファイ...
-
jarファイルが開けない
-
Apacheでファイルをアップロー...
おすすめ情報