2011-07-22 364 views
3

所以我有一个可能很简单的问题,我找不到答案。VBScript将日期转换为字符串

我正在写一个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 

任何帮助表示赞赏。 谢谢!

回答

3

VBScript中的字符串连接运算符是“&”,所以速战速决是:

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

如果指定确切期望的结果,我愿意提出一个更好的方式来实现你的目标。

+0

嗯......以及我的主要目标是有一个名为“结果”的文件夹最终被称为“Results_Month_Day_Year_Time”因此,当我移动它没有其他可能覆盖的文件。 – user856354

+0

“结果”之后的空间情况如何?你想要PM/AM吗?日期和月份是否应该填充为零? –

2

Ekkehard.Horners答案将无法正常工作,因为时间需要重新格式化以移除冒号(:)文件夹不能有冒号。

尝试;

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

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

我敢肯定有一个更简洁的答案,但也将努力填补不应该是一个问题,因为下划线将否定重复的可能性。

我想发表评论,但没有足够的代表。