Войти

Показать полную графическую версию : [решено] Замена символов в перменных VBScript


ymo_4@vk
04-12-2017, 21:21
Доброго времени суток.
Как можно заменить символы в переменной?
Вот пример:
a = hello
[все символы "l" нужно заменить на символ "0"]
Как присвоить переменной сегодняшнюю дату.
И ещё, можно ли написать дату в переменной в формате 2017-12-04 ?

Iska
04-12-2017, 21:28
Как можно заменить символы в переменной?
Вот пример: »
a = "hello"
a = Replace(a, "l", "0")
WScript.Echo a

И ещё, можно ли написать дату в переменной в формате 2017-12-04 ? »
dtDate = Now()
WScript.Echo CStr(Year(dtDate)) & "-" & Right("00" & CStr(Month(dtDate)), 2) & "-" & Right("00" & CStr(Day(dtDate)), 2)

ymo_4@vk
04-12-2017, 21:35
Спасибо.
Можете объяснить вот этот код
dtDate = Now()
WScript.Echo CStr(Year(dtDate)) & "-" & Right("00" & CStr(Month(dtDate)), 2) & "-" & Right("00" & CStr(Day(dtDate)), 2) »
и эту дату можно сделать в переменную?

Iska
04-12-2017, 22:15
Можете объяснить вот этот код »
Можно. Но лучше Вы загрузите себе справку по WSH (http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe) и посмотрите сами. Потом, если что будет неясно — спросите.

и эту дату можно сделать в переменную? »
Можно. Только имейте в виду, это не дата, а строка.
dtDate = Now()
strSomeVar = CStr(Year(dtDate)) & "-" & Right("00" & CStr(Month(dtDate)), 2) & "-" & Right("00" & CStr(Day(dtDate)), 2)

ymo_4@vk
04-12-2017, 23:00
Можно. Только имейте в виду, это не дата, а строка. »
Мне нужно именно дата (2017-12-04) а пишется дата и время.
И вместо знака "-" ставится ".".

Iska
04-12-2017, 23:32
ymo_4@vk, покажите Ваш код — где и что «пишется» и «ставится».

ymo_4@vk
05-12-2017, 17:20
покажите Ваш код — где и что «пишется» и «ставится». »

Option Explicit

Const cdoSendUsingPort = 2
Const cdoBasic = 1

Const strConstPartOfSchema = "http://schemas.microsoft.com/cdo/configuration/"


Dim strSourceFile
Dim strContent
Dim dtdate, strsomevar


strSourceFile = "C:\chat\" & [переменная даты (2017-12-05)] & ".log"

With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
With WScript.CreateObject("CDO.Message")
.From = "*****@yandex.ua"
.To = "*****@gmail.com"
.Subject = "Content of file [" & strSourceFile & "]"

.TextBody = "Мама мыла раму"
.TextBodyPart.Charset = "windows-1251"

.AddAttachment strSourceFile

With .Configuration.Fields
.Item(strConstPartOfSchema & "smtpserver") = "smtp.yandex.ru"
.Item(strConstPartOfSchema & "sendusing") = cdoSendUsingPort
.Item(strConstPartOfSchema & "smtpserverport") = 465
.Item(strConstPartOfSchema & "smtpauthenticate") = cdoBasic
.Item(strConstPartOfSchema & "sendusername") = "*******"
.Item(strConstPartOfSchema & "sendpassword") = "****"
.Item(strConstPartOfSchema & "smtpusessl") = True

.Update
End With

.Send
End With
Else
WScript.Echo "Source file [" & strSourceFile & "] not found."
WScript.Quit 1
End If
End With

WScript.Quit 0

Iska
05-12-2017, 17:30
ymo_4@vk, попробуйте так:
Dim dtdate


dtDate = Now()
strSourceFile = "C:\chat\" & CStr(Year(dtDate)) & "-" & Right("00" & CStr(Month(dtDate)), 2) & "-" & Right("00" & CStr(Day(dtDate)), 2) & ".log"

ymo_4@vk
05-12-2017, 18:17
попробуйте так: »
Спасибо, работает!




© OSzone.net 2001-2012