OSはWindoswXPProです。
以下のようなBATファイルとバッチファイルを作成しました。
---FTP.bat---
echo off
ftp -s:get.ftp
---get.ftp---
open 10.0.X.X
username
password
cd /log
get log.yymmdd(実際には日付) c:\access_all_log.txt
quit
logというディレクトリには日次でログファイルが作成され
ファイル名としてlog.yymmddと名づけられています。
やりたいことは2つあります。
1つめはftpするファイル名の日付部分をコマンドなどから
範囲指定して取得するファイルを指定できないか。
(たとえば070301~070315のファイルを一括で取得したい)
2つ目はftpでのファイル取得終了後に続いて
バッチスクリプトを流したいのですが、その方法。
お分かりになる方いらっしゃいましたらよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
バッチで日付を扱うのはけっこう難しいですよね。
VBSで、
・指定した期間内のログファイルをftpでgetするftp.getファイルを生成し、
・getした複数のログファイルを copy で1つのファイル(c:\access_all_log.txt)にまとめ、個々のログファイル(log.yymmdd)を削除するバッチファイルを生成
するスクリプトを作ってみました。
まず、MakeGetFtp.vbs という名前で、以下の内容のファイルをバッチファイルと同じディレクトリに作成してください。(IPアドレス、ユーザ名等は本当のものに書き換えてください)
----------------------------------------------
Dim strDate(2)
Dim argDate(2)
Dim TmpDate,d, i,logfile
Dim FSO,FtpFile,CopyBat
Dim GetStr,CopyStr,DelStr
'引数の数チェック
If WScript.Arguments.Count <> 2 Then
WScript.Echo("開始日付と終了日付を指定してください")
WScript.Quit(1)
End If
'各スクリプト、バッチファイルに渡す日付パラメータの作成
For i = 1 to 2
strDate(i) = Wscript.Arguments.Item(i - 1)
If Not IsNumeric(strDate(i)) or _
Len(strDate(i)) <> 6 Then
WScript.Echo(CStr(i) & "番目の日付の書式が間違っています。")
WScript.Quit(1)
End If
argDate(i) = DateValue("20" & Left(strDate(i),2) & "/" & _
Mid(strDate(i),3,2) & "/" & Right(strDate(i),2))
Next
'初期化
CopyStr = "Copy "
DelStr = "Del "
'FTPのgetコマンド、BATのCOPYコマンド、DELコマンドを作成
For d = argDate(1) to argDate(2)
TmpDate = FormatDateTime(d,2)
TmpDate = Mid(TmpDate,3,2) & Mid(TmpDate,6,2) & Mid(TmpDate,9,2)
logfile = "log." & TmpDate
GetStr = GetStr & "get " & logfile & vbCrlf
CopyStr = CopyStr & logfile & "+"
DelStr = DelStr & logfile & " "
Next
'FTPコマンドをファイルに出力
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.CreateTextFile("get.ftp")
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.CreateTextFile("get.ftp")
.WriteLine("open 10.0.X.X")
.WriteLine("username")
.WriteLine("password")
.WriteLine("cd /log")
.WriteLine(GetStr)
.WriteLine("quit")
.Close
End With
CopyStr = Left(CopyStr,Len(CopyStr)-1) & " c:\access_all_log.txt"
With FSO.CreateTextFile("TmpCopy.bat")
.WriteLine("@echo off")
.WriteLine(CopyStr)
.WriteLine(DelStr)
.Close
End With
Set FSO = Nothing
----------------------------------------------
そして、FTPを行うバッチファイルを以下の内容にしてください。
----------------------------------------------
@echo off
cscript MakeGetFtp.vbs %1 %2
if %errorlevel% EQU 1 goto end
ftp -s:get.ftp
TmpCopy.bat
:end
----------------------------------------------
上記のバッチファイルの名前を、ftpget.bat とすると、
ftpget.bat 070301 070315
と日付を指定して実行すると、その期間のログをFTPでgetし、c:\access_all_log.txt にまとめられます。
No.3
- 回答日時:
No.2です。
すみません、誤記がありました。MakeGetFtp.vbs の中で、
'FTPコマンドをファイルに出力
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.CreateTextFile("get.ftp")
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.CreateTextFile("get.ftp")
と同じ2行が繰り返されていますが、これは
'FTPコマンドをファイルに出力
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.CreateTextFile("get.ftp")
と1つだけの誤りでした。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルでftp接続によるファイル...
-
FTPに接続し、 あるフォルダ内...
-
WinSCPを使ってgetし、ローカル...
-
robocopyでファイルがあるのに...
-
ファイルの作成・更新日時が200...
-
FFFTPでSolarisサーバーのファ...
-
SONY ICカードリーダー RC-S330...
-
拡張子「KRF2」ファイル
-
txt ファイル (テキストフ...
-
Excelで勝手に保存画面に飛びま...
-
ファイルをダウンロードした順...
-
EXCEL、上書き保存したは...
-
10分間隔にPINGを実行させたい
-
win10にインストールしたOpera...
-
拡張子tmpファイルを開く方法
-
サポートされてないファイル形...
-
ダウンロードしたファイルの出...
-
勝手にファイルダウンロードさ...
-
新しいパソコンにntt西日本のス...
-
MPC-BEのアスペクト比
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPに接続し、 あるフォルダ内...
-
ファイルの作成・更新日時が200...
-
robocopyでファイルがあるのに...
-
FTP受信直後に受け取ったファイ...
-
win2008serverでaspxを表示させ...
-
バッチファイルでフォルダ内の...
-
FTPで見えるファイルと見えない...
-
FTPのmputで出るnetoutについて
-
シェルでftp接続によるファイル...
-
拡張子のhtmlをhtmに変更す...
-
index.html をブラウザで開...
-
FFFTPで属性変更できない(Fedr...
-
ApacheでSorryサーバを作りたい
-
Apache2.2.6にてBasic認証の設定
-
WinSCPを使ってgetし、ローカル...
-
FFFTPでSolarisサーバーのファ...
-
xfz zxvf??
-
MacOSエラー -50
-
メールフォーム設置の仕方を教...
-
読み取り専用ファイルとして認...
おすすめ情報