2016-11-28 179 views
1

下面的这个脚本重命名一组计划任务运行的图像,其中活的人成为本周壁纸(从我的最佳知识)。 脚本在一段时间内没有工作,没有环境变化。我的VB有点生疏,但我似乎无法看到问题。通过脚本重命名文件

错误消息:

enter image description here

Set fso = CreateObject("Scripting.FileSystemObject") 

Set oFldr = fso.getfolder("E:\Users\Citrix Templates\Wallpaper") 
For Each ofile In oFldr.Files 
    If ofile.Name = "1.jpg" Then 
    ofile.Name = "b0.jpg" 
    ElseIf ofile.Name = "2.jpg" Then 
    ofile.Name = "1.jpg" 
    ElseIf ofile.Name = "3.jpg" Then 
    ofile.Name = "2.jpg" 
    ElseIf ofile.Name = "4.jpg" Then 
    ofile.Name = "3.jpg" 
    ElseIf ofile.Name = "5.jpg" Then 
    ofile.Name = "4.jpg" 
    ElseIf ofile.Name = "6.jpg" Then 
    ofile.Name = "5.jpg" 
    ElseIf ofile.Name = "7.jpg" Then 
    ofile.Name = "6.jpg" 
    ElseIf ofile.Name = "8.jpg" Then 
    ofile.Name = "7.jpg" 
    ElseIf ofile.Name = "9.jpg" Then 
    ofile.Name = "8.jpg" 
    ElseIf ofile.Name = "a0.jpg" Then 
    ofile.Name = "9.jpg" 
    ElseIf ofile.Name = "a1.jpg" Then 
    ofile.Name = "a0.jpg" 
    ElseIf ofile.Name = "a2.jpg" Then 
    ofile.Name = "a1.jpg" 
    ElseIf ofile.Name = "a3.jpg" Then 
    ofile.Name = "a2.jpg" 
    ElseIf ofile.Name = "a4.jpg" Then 
    ofile.Name = "a3.jpg" 
    ElseIf ofile.Name = "a5.jpg" Then 
    ofile.Name = "a4.jpg" 
    ElseIf ofile.Name = "a6.jpg" Then 
    ofile.Name = "a5.jpg" 
    ElseIf ofile.Name = "a7.jpg" Then 
    ofile.Name = "a6.jpg" 
    ElseIf ofile.Name = "a8.jpg" Then 
    ofile.Name = "a7.jpg" 
    ElseIf ofile.Name = "a9.jpg" Then 
    ofile.Name = "a8.jpg" 
    ElseIf ofile.Name = "LiveCitrixWallpaper.jpg" Then 
    ofile.Name = "a9.jpg" 
    End If 
Next 

For Each ofile In oFldr.Files 
    If ofile.Name = "b0.jpg" Then 
    ofile.Name = "LiveCitrixWallpaper.jpg" 
    End If 
Next 
+0

您可能正在尝试将文件重命名为已存在的文件名。例如,如果文件“LiveCitrixWallpaper.jpg”存在,并且您尝试重命名某些内容,我想它会抛出该错误。脚本曾经工作过吗? –

+0

如果我数到第14行,代码是:'ofile.Name =“4.jpg”'。去破解打开文件夹,看看是否存在该文件。如果是这样,请删除它并重新运行。我想你会在另一条线上得到错误。 –

+0

可以确认,它是有点工作。 – Tzhari

回答

0

我删除从文件路径中的图像b0.jpg,它似乎是工作。

不知道为什么它打破了它,但它现在重命名它们。

+0

直到b0.jpg文件返回并再次将其中断。 –

+0

由于脚本维护一个循环列表,因此您应该检查b0是否存在于开始处并将其删除。为了清楚起见,我会将所有'elseif'改为'if',并将'ofile.Name =“1.jpg”'放在'Then'后面, – LotPings