2014-09-22 68 views
0

我試圖將具有特定擴展名的多個文件複製到不同的文件夾,繼承我使用的代碼,不太熟悉VBS,但是有人可能會將我指向正確的方向?使用VBS複製某些文件擴展名

dim filesys 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
objStartFolder = "V:\Auto Audiowall Music Uploads\MUSIC\" 

Set objFolder = objFSO.GetFolder(objStartFolder) 
Wscript.Echo objFolder.Path 

Set colFiles = objFolder.Files 

For Each objFile in colFiles 

If UCase(objFSO.GetExtensionName(objFile.name)) = "MP3" Then 
objFSO.CopyFile "V:\Auto Audiowall Music Uploads\MUSIC\".objFile.Name.".mp3", "V:\Auto Audiowall  Uploads\New Music" 
End If 
If UCase(objFSO.GetExtensionName(objFile.name)) = "WAV" Then 
objFSO.CopyFile "V:\Auto Audiowall Music Uploads\MUSIC\".objFile.Name.".wav", "V:\Auto Audiowall Uploads\New Music" 
End If 
Next 
+0

你的問題到底是什麼? – LittleBobbyTables 2014-09-22 17:40:23

+0

試圖將具有特定擴展名的多個文件複製到不同的文件夾,不確定的代碼 – 2014-09-22 17:42:55

+0

對不起,代碼不工作,有錯誤說該文件指定找不到,啊 – 2014-09-22 17:57:10

回答

1

您在CopyFile函數中錯誤地連接了字符串。您需要使用&符號(&)來連接VBScript中的字符串。

不過,您可以使用objFile.Path而不是連接字符串來創建完整的源路徑。

objFSO.CopyFile objFile.Path, "V:\Auto Audiowall Uploads\New Music\" 

或者你可以只使用File對象的Copy功能:

objFile.Copy "V:\Auto Audiowall Uploads\New Music\" 

在任何情況下,這樣的VBScript知道你要複製到文件夾結束與斜線的目標路徑而不是複製以創建新的文件

+0

謝謝,真的很有幫助! – 2014-09-22 18:56:58

+0

複製File對象的方法(自身)稱爲.Copy(而不是.CopyFile);比照http://msdn.microsoft.com/en-us/library/6973t06a%28v=vs.84%29.aspx – 2014-09-22 19:21:28

+0

@ Ekkehard.Horner感謝您的支持。更新。 – Bond 2014-09-22 19:45:56

相關問題