VBScript конвертировать дату в строку - PullRequest
4 голосов
/ 22 июля 2011

Итак, у меня, возможно, простой вопрос, на который я не могу найти ответ.

Я пишу VBScript, который переместит подпапку из одной папки в другую. При перемещении я хочу добавить дату в название подпапок. У меня все работает, кроме как я не могу понять, как преобразовать дату в строку, чтобы ее можно было добавить к имени папки.

curDate =  Month(Date) + "_" + Day(Date) + "_" + Year(Date) + "_" + Time

If  fs.FolderExists(rsltFldrPath) Then

'Grab folder and Subfolders
Set fldr = fs.GetFolder(rsltFldrPath)
Set subFldr = fldr.SubFolders

For each folder in subFldr
    moveTo = archFldrPath + "\" +folder.name + curDate
    fs.MoveFolder folder, moveTo
Next
End If

Любая помощь приветствуется. Спасибо!

Ответы [ 2 ]

4 голосов
/ 22 июля 2011

Оператор конкатенации строк в VBScript - это «&», поэтому быстрое исправление будет:

>> curDate =  Month(Date) & "_" & Day(Date) & "_" & Year(Date) & "_" & Time
>> WScript.Echo curDate
>>
7_22_2011_5:32:55 PM

Если вы укажете точный желаемый результат, я готов предложить лучший способ достижения вашей цели.

2 голосов
/ 30 декабря 2014

Ekkehard.Horners ответ не сработает, поскольку для удаления двоеточий требуется переформатировать время (:) Папки не могут содержать двоеточия.

Попробуйте;

curDate =  Month(Date) & "_" & Day(Date) & "_" & Year(Date) & "_" & Time

Replace(CurDate,":","-")

Я уверен, что есть более лаконичный ответ, но это сработает, и заполнение не должно быть проблемой, так как подчеркивание отрицает дублирующиеся возможности.

Я хотел бы прокомментировать, но у меня недостаточно повторений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...