源代码:
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",
将文件复制到Archive文件夹并重命名为当前日期和时间 - 这是正确的,并且原始文件夹中的文件将被删除。
但是,当我更改此脚本以尝试从此文件夹中移动所有文件时,我收到以下错误消息:
Script: Reporting.vbs Line: 16 Char: 1 Error: Path not found Code: 800A004C Source: Microsoft VBScript runtime error
这让我感到困惑,因为DeleteFile
行使用相同的目录路径,并且还使用" 。"通配符,但在运行指定原始文件名的脚本时,这不会出现任何错误或问题。
我知道有xcopy
,但我真的希望尽可能避免这种情况。
答案 0 :(得分:1)
您正尝试将多个源文件复制到一个目标.xls文件中,但documentation个州
如果source包含通配符或目标以路径结尾 分隔符(\),假设目标是其中的现有文件夹 哪个可以复制匹配的文件。
您的来源包含通配符,但您的目标不是现有文件夹,这是导致错误的原因。
您有两个选择