800A000D 格式不匹配(VBS)

800A000D Format missmatch (VBS)

我正在用 vbscript 编写脚本,但出现此错误:

800A000D 格式不匹配:

这是代码:

Set objOU = GetObject("LDAP://OU=Usuarios,OU=xxx,DC=yyy,DC=uru,DC=zzz")

objOU.Filter = Array("group")

Dim ts, fso, parentFolder, folder, folderDirectory
    ts = CStr(Format(Now(),"#dd-mm-yyyy#")) 
    Set fso = CreateObject("Scripting.FileSystemObject")
    set parentFolder = fso.GetParentFolderName(WScript.ScriptFullName)
    folderDirectory = parentFolder & ts

Dim outputFileName
    outputFileName = ts & ".csv"

set outputFile = fso.CreateTextFile(outputFileName, TRUE)
For Each objGroup In objOU
  If InStr(1, objGroup.cn, "MIS_") = 1 Then
      For Each objMember In objGroup.Members
        outputFile.WriteLine objGroup.cn & ";" & objMember.sAMAccountName & ";" & objMember.displayname
      Next
  End If
Next

谢谢!

这是由函数 Format 引起的,VBScript 无法识别该函数。

您可以改用 FormatDateTime,但格式有限:https://www.w3schools.com/asp/func_formatdatetime.asp

提示:不要使用 Now()Date() 以避免它也输出时间部分。

要获得您请求的格式,您可以尝试使用 FormatDateTime 定义的格式之一,并使用 Replace 函数将 . 交换为 -

如果 none 适合,您必须创建自己的函数,然后将日期拆分为单独的值

  • 年份:Year(Date())
  • 月份:Month(Date())
  • 天:Day(Date())

并像您一样连接它们 want/need。