【问题标题】:VBScript to format the file and date <filename><date>.csv [duplicate]VBScript 格式化文件和日期 <文件名><日期>.csv [重复]
【发布时间】:2019-02-17 10:53:17
【问题描述】:

您好,我需要帮助将文件名设置为 .csv 目前我们可以使用以下代码将文件名设置为 2_10_2018user.csv

Set CPY = CreateObject("Scripting.FileSystemObject")

CPY.CopyFile "\\users\user.csv", "\\home\group\" & Replace(FormatDateTime(Date(),2),"","-") & "users.csv",True

Set CPY = nothing
'MsgBox("Done")

【问题讨论】:

  • 还有什么问题?
  • 还有一个问题:当您对存储在本地驱动器上的文件进行操作时,它是否有效?在您的示例中,您使用网络驱动器上的文件进行操作
  • 您好我需要帮助将括号“”中的文件名设置为“filenamedate.csv” 目前我们可以使用以下代码将文件名设置为 2_10_2018user.csv Set CPY = CreateObject ("Scripting.FileSystemObject") CPY.CopyFile "\\users\user.csv", "\\home\shared\group\" & Replace(FormatDateTime(Date(),2),"","-") & "users.csv",True Set CPY = nothing 'MsgBox("Done") 它只工作我关心这一行 "Replace(FormatDateTime(Date(),2),"","-") & "users. csv",True" 重命名文件
  • 不清楚你想要做什么 - 你想要复制文件的名称是文件名然后是日期吗?请通过编辑问题而不是作为几乎不可能阅读代码语句的注释来举例说明您拥有什么以及您想看到什么。

标签: vbscript


【解决方案1】:

您不能在不允许的文件/文件夹名称中使用角括号。 实际上,不允许使用以下字符:

/ \ < > ? * | : "

您所说的与您有关的一点:

Replace(FormatDateTime(Date(),2),"","-") & "users.csv",True"

可以分解为以下单独的命令:

FormatDateTime(Date(),2)

这是告诉系统将系统日期(今天的日期)格式化为 SHORT DATE 第二个参数的选项是:

0 = vbGeneralDate (date and time)
1 = vbLongDate    (long date)
2 = vbShortDate   (short date)
3 = vbLongTime    (long time)
4 = vbShortTime   (short time)

所以现在我们有了日期格式, 接下来是替换操作:

Replace(FormatDateTime(Date(),2),"","-") & "users.csv",True"

在这种情况下,我们将日期分隔符“”(空字符串)替换为连字符“-”(-)

所以这部分文件名从 010119 更改为 01-01-19(例如 2019 年 1 月 1 日)

并且“users.csv”附在这一切的末尾

最后,TRUE 注释告诉系统如果文件已经存在,则覆盖该文件!

如果您想要日期之前的文件名,那么只需交换位即可:

CPY.CopyFile "\\users\user.csv", "\\home\shared\group\" & "users-" & Replace(FormatDateTime(Date(),2),"","-") & ".csv",True 

【讨论】:

    猜你喜欢
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    相关资源
    最近更新 更多