navigator19 |
12-03-2011 12:33 1633136 |
Как вписать дату и время в название файла?
Собственно вопрос как вписать дату и время в название файла при копировании
Вот пример:
Код:
set service = GetObject ("winmgmts:")
dim i
i = 0
do
for each Process in Service.InstancesOf ("Win32_Process")
If Process.Name = "Maxthon.exe" then
i = 1
End If
next
If i = 0 then
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Form.dat", "D:\Backup\%date%_Form.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\history2.dat", "D:\Backup\%date%_history2.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Session.ini", "D:\Backup\%date%_Session.ini"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\LastSession.ini", "D:\Backup\%date%_LastSession.ini"
wscript.quit
End if
i = 0
WScript.Sleep 20 * 1000
loop
но при копировании дата не вписывается, подскажите где может быть ошибка?
|
SendMessage |
12-03-2011 12:49 1633146 |
navigator19, переделайте по этому образцу:
Из "D:\Backup\%date%_Form.dat" в "D:\Backup\" & Date & "_Form.dat"
|
navigator19 |
12-03-2011 14:26 1633204 |
Огромное спасибо!
А как к названию файла ещё и время добавить?
|
SendMessage |
12-03-2011 16:28 1633282 |
Iska, а я в свое время такое средствами VBS реализовывал. В принципе, то же самое.
Код:
DT = Now
DateVal = Year(DT) & _
Right("0" & Month(DT), 2) & _
Right("0" & Day(DT), 2) & _
Right("0" & Hour(DT), 2) & _
Right("0" & Minute(DT), 2) & _
Right("0" & Second(DT), 2)
WScript.Echo DateVal
Цитата:
Цитата navigator19
А как к названию файла ещё и время добавить? »
|
На этом примере разберешься? Я думаю, без проблем.
|
2SendMessage: угу, аналогично. На VBScript варианты есть, на JScript — уже сложнее. В первую очередь вариант amel27 мне понравился тем, что это готовый вариант для пакетного файла; и, в первую очередь — формат не зависит от региональных настроек ;), а файлы с датой/временем в имени я предпочитаю держать именно в японском формате даты «YYYYMMDD», дабы они сразу были визуально отсортированы.
|
navigator19 |
12-03-2011 20:01 1633378 |
Не понял как именно применить это
Код:
DT = Now
DateVal = Year(DT) & _
Right("0" & Month(DT), 2) & _
Right("0" & Day(DT), 2) & _
Right("0" & Hour(DT), 2) & _
Right("0" & Minute(DT), 2) & _
Right("0" & Second(DT), 2)
WScript.Echo DateVal
к скрипту, куда это вставить?
|
SendMessage |
12-03-2011 20:22 1633391 |
Цитата:
Цитата navigator19
к скрипту, куда это вставить? »
|
Код:
If i = 0 then
Dim FSO, DT, DateVal
DT = Now
DateVal = Year(DT) & _
Right("0" & Month(DT), 2) & _
Right("0" & Day(DT), 2) & _
Right("0" & Hour(DT), 2) & _
Right("0" & Minute(DT), 2) & _
Right("0" & Second(DT), 2)
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Form.dat", "D:\Backup\" & DateVal & "_Form.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\history2.dat", "D:\Backup\" & DateVal & "_history2.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Session.ini", "D:\Backup\" & DateVal & "_Session.ini"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\LastSession.ini", "D:\Backup\" & DateVal & "_LastSession.ini"
wscript.quit
End if
|
navigator19 |
12-03-2011 21:53 1633429 |
Спасибо, но файл получается Form.dat_20110312235253 без разделителей как их вставить?
|
Цитата:
Цитата navigator19
Спасибо, но файл получается Form.dat_20110312235253 без разделителей как их вставить? »
|
Извините, что вклиниваюсь в диалог...
, ты этого хочешь?
Код:
d = DatePart("d", date)&"." & DatePart("m", date) &"." & DatePart("yyyy", date) ' дата
t = DatePart("h", time)&"." & DatePart("N", time) &"." & DatePart("S", time) ' время
' Временные значения можно переставлять, как хочешь.
'---------------------------------------------------------------------------
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Form.dat", "D:\Backup\" &d&"_"&t&"_Form.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\history2.dat", "D:\Backup\" &d&"_"&t&"_history2.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Session.ini", "D:\Backup\" &d&"_"&t&"_Session.ini"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\LastSession.ini", "D:\Backup\" &d&"_"&t&"_LastSession.ini"
|
navigator19 |
12-03-2011 22:46 1633477 |
Не совсем, так получается 13.3.2011_0.49.49_Form.dat а нужно 13.03.2011_00.49.49_Form.dat двойные цифры где число меньше 10!
|
Цитата:
Цитата navigator19
Не совсем, так получается 13.3.2011_0.49.49_Form.dat а нужно 13.03.2011_00.49.49_Form.dat двойные цифры где число меньше 10! »
|
А, так..?
Код:
strDateTime=Right("00" & DatePart("d",Date),2) & "." & _
Right("00" & DatePart("m",Date),2) & "." & _
DatePart("yyyy",Date) & "_" & _
Right("00" & DatePart("h",Time),2) & "." & _
Right("00" & DatePart("n",Time),2) & "." & _
Right("00" & DatePart("s",Time),2)
' Временные значения можно переставлять, как хочешь.
'---------------------------------------------------------------------------
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Form.dat", "D:\Backup\" &strDateTime&"_Form.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\history2.dat", "D:\Backup\" &strDateTime&"_history2.dat"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\Session.ini", "D:\Backup\" &strDateTime&"_Session.ini"
FSO.CopyFile "D:\Maxthon2\SharedAccount\Data\LastSession.ini", "D:\Backup\" &strDateTime&"_LastSession.ini"
|
navigator19 |
13-03-2011 01:53 1633573 |
Во, это то самое! Всем большое спасибо!
|
SendMessage |
13-03-2011 03:37 1633585 |
OSArev, совсем ни к чему было переделывать с использованием DatePart и два нуля здесь тоже не нужны - одного достаточно.
Код:
DT = Now
DateVal = Right("0" & Day(DT), 2) & "." & _
Right("0" & Month(DT), 2) & "." & _
Year(DT) & "_" & _
Right("0" & Hour(DT), 2) & "." & _
Right("0" & Minute(DT), 2) & "." & _
Right("0" & Second(DT), 2
|
SendMessage, извини, был не внимателен, navigator19 - запутал, то ему то, то ему это, нет, чтобы самому подумать. Да, конечно, твоё решение, тоже правильно.
А на счёт DatePart - так это он просто под руку попался, но ведь тоже работает?
И за один ноль, спасибо.
|
Время: 23:09.
© OSzone.net 2001-