2015-03-27 5 views
0

Я хочу скопировать один и тот же файл 10000 раз с изменением временной метки с помощью VB Script. Исходное имя файла - MyFile.txt. Поэтому он будет скопирован как MyFile_20100131010000.txt. Второй файл времени следует скопировать с именем MyFile_20100131010001.txt. И так далее, как MyFile_20100131021003.txt. Я использую ниже фрагмент кода. Но не уверен, как преобразовать DateAdd («s», intCount, «31-Jan-10 08:50:00») в метку времени. напримерVBScript Скопируйте тот же файл с добавлением второго в Timestamp

For intCount = 1 to 10000 
    strDate = DateAdd("s",intCount,"31-Jan-10 08:50:00") 
    strNewName = objFSO.GetBaseName(objSourceFile) & "_" & strDate & "." & objFSO.GetExtensionName(objSourceFile) 
    'CopyFile(strNewName) 
Next 

Просьба сообщить об этом.

+0

Существует ли функция Format в VBScript? В VBA я бы использовал что-то вроде 'strFile = strFileBaseName & Format (Now()," YYYYMMddhhmmssss "' – tobriand

+0

да. Я хочу, чтобы что-то создавало такую ​​функцию. –

ответ

1

Хорошо, это немного проще в VBA, как указано в моем комментарии, но это не так сложно в VBScript.

Функция, которой вы пользуетесь, является DatePart. Он содержит множество аргументов, которые вы используете, которые можно найти: here.

Чтобы создать временную метку год-месяц-день-час-минута-секунда, используя ее, вы в основном объединяете многие из этих аргументов. На всякий случай, если между секундами выполнения функции есть отметка между секундами, стоит назначить dtNow заранее:

Dim dtNow 
Dim i 
Dim strDatePart 

For i = 0 to 10000 
    dtNow = DateAdd("s",i,"31-Jan-10 08:50:00") 
    strDatePart = DatePart("yyyy", dtNow) & DatePart("m", dtNow) & DatePart("d", dtNow) & DatePart("h", dtNow) & DatePart("n", dtNow) & DatePart("s", dtNow) 
    '' Save your file here 
Next