Vbscript 使用通配符复制文件时出现“找不到路径”错误

Vbscript 使用通配符复制文件时出现“找不到路径”错误,vbscript,file-management,Vbscript,File Management,源代码: Const OverwriteExisting = TRUE Dim strSafeDate, strSafeTime, strDateTime strSafeDate = Right("0" & DatePart("d",Date), 2) & "." & Right("0" & DatePart("m",Date), 2) & "." & DatePart("yyyy",Date) strSafeTime = Right("0" &

源代码:

Const OverwriteExisting = TRUE
Dim strSafeDate, strSafeTime, strDateTime

strSafeDate = Right("0" & DatePart("d",Date), 2) & "." & Right("0" & DatePart("m",Date), 2) & "." & DatePart("yyyy",Date)
strSafeTime = Right("0" & Hour(Now), 2) & Right("0" & Minute(Now), 2) & Right("0" & Second(Now), 2)

strDateTime = strSafeDate & " - " & strSafeTime

Set objFSO = CreateObject("Scripting.FileSystemObject")

objFSO.CopyFile "\\Ilgglafnp02\sapoutput\PRD\SpiceWorksReports\CurrentReportFiles\TicketsRaised(All)\*.*", "\\Ilgglafnp02\sapoutput\PRD\SpiceWorksReports\Archive\TicketsRaised(All)\"& strDateTime & ".xls"
objFSO.DeleteFile "\\Ilgglafnp02\sapoutput\PRD\SpiceWorksReports\CurrentReportFiles\TicketsRaised(All)\*.*"
详情:

我正在尝试编写一个简单的脚本,将所有文件从网络上的一个共享位置复制到另一个共享位置,以便存档

当我像这样指定源文件的名称时:

objFSO.CopyFile "\\Ilgglafnp02\sapoutput\PRD\SpiceWorksReports\CurrentReportFiles\TicketsRaised(All)\HelloWorld.xls", 
文件将复制到存档文件夹并重命名为当前日期和时间-这是正确的,并且原始文件夹中的文件将按原样删除

但是,当我更改此脚本以尝试从此文件夹中移动所有文件时,会收到以下错误消息:

Script: Reporting.vbs Line: 16 Char: 1 Error: Path not found Code: 800A004C Source: Microsoft VBScript runtime error 脚本:Reporting.vbs 第16行 字符:1 错误:找不到路径 代码:800A004C 来源:Microsoft VBScript运行时错误 这让我很困惑,因为
DeleteFile
行使用了相同的目录路径,并且还使用了“.”通配符,但在运行指定原始文件名的脚本时,这不会出现错误或问题


我知道有
xcopy
,但我真的希望尽可能避免这种情况。

您试图将多个源文件复制到一个目标.xls文件中,但是

如果源包含通配符或目标以路径结尾 分隔符(\),假定目标是中的现有文件夹 要复制匹配文件的

源包含通配符,但目标不是现有文件夹,这是导致错误的原因

你有两个选择

  • 首先创建一个带有时间戳的文件夹,将所有文件复制到其中而不进行任何重命名
  • 迭代源文件夹的files集合,将每个文件复制到目标文件夹中带有时间戳的文件

太好了,这太完美了。当我知道这是一个很简单的问题时,我觉得自己很愚蠢。非常感谢。