2012-06-26 6 views
0

Я написал сценарий .vbs, что письма администратору с текущего файла журнала Вот то, что я до сих пор:Как получить числовое значение текущего месяца и поместить его в переменную в VBScript/.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 = "[email protected]" 
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, июнь. Этот месяц увеличивается каждый месяц. Как вы можете видеть, он жестко запрограммирован. Он работает отлично. Но я хотел бы сделать еще один шаг вперед, сделав его немного более динамичным. Я хочу создать переменную и получить текущее значение текущего месяца, и положил его в той части назначения источника, например:

month = aqDateTime.GetMonth(Date) 
MessageAttachment = "C:\M\XYZ\2012"&month&"\"&fileName&"_DEV_Log.txt" 

Будет ли это работать? Любая помощь будет оценена по достоинству. СПАСИБО В РАМКАХ!

ответ

0

Вы можете;

dim thisMonth: thisMonth = cstr(month(date)) 
if (len(thisMonth) = 1) then thisMonth = "0" & thisMonth 

Изготовление

"C:\M\XYZ\2012" & thisMonth & "\" & fileName & "_DEV_Log.txt" 

Равное

"C:\M\XYZ\201206\XXX_DEV_Log.txt" 

(year(date) в этом году)

+0

Alex K., спасибо за быстрый ответ. Что именно эта вторая линия делает? Не могли бы вы немного объяснить это? Еще раз спасибо. – duper

Смежные вопросы