管理者に現在のログ ファイルを電子メールで送信する .vbs スクリプトを作成しました。
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\automatic_deployment\filename.txt", ForReading)
fileName = objTextFile.ReadLine
Wscript.Echo fileName
Dim ToAddress
Dim FromAddress
Dim MessageSubject
Dim MyTime
Dim MessageBody
Dim MessageAttachment
Dim ol, ns, newMail
Dim month
ToAddress = "myaddress@myemail.com"
MessageSubject = "Deployment was successful"
MyTime = Now
MessageBody = "Successful deployment. Log file is attached."
MessageAttachment = "C:\M\XYZ\201206\"&fileName&"_DEV_Log.txt"
Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.Body = MessageBody & vbCrLf & MyTime
newMail.RecipIents.Add(ToAddress)
newMail.Attachments.Add(MessageAttachment)
newMail.Send
objTextFile.Close
ご覧のとおり、「MessageAttachment」という変数があり、ログ ファイルが添付されています。ログ ファイルの宛先部分には、年と月を表す 201206 があります。そのフォルダーには、2012 年 6 月のログが保持されます。その月は毎月増加します。ご覧のとおり、ハードコードされています。これまでのところ問題なく動作します。しかし、もう少しダイナミックにすることで、さらに一歩進めたいと思います。変数を作成し、現在の月の現在の値を取得して、次のようにソース宛先のその部分に配置したいと考えています。
month = aqDateTime.GetMonth(Date)
MessageAttachment = "C:\M\XYZ\2012"&month&"\"&fileName&"_DEV_Log.txt"
これは機能しますか?どんな助けでも大歓迎です。前もって感謝します!