2016-11-28 180 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