2014-09-25 3 views
-1

며칠 전에 VBS에 관한 질문을했습니다. 올바른 파일 확장명을 가진 한 한 폴더에서 다른 폴더로 파일을 복사 한 스크립트를 작성했습니다. 이 스크립트는 "Expected 'Then'" " 오류를 수정하는 방법을 모르겠다는 오류가 발생합니다. 언제든지 if 문 뒤에 적절한 장소라고 생각하는 것의 "Then"을 넣을 때마다 여전히 같은 오류가 발생합니다.VBS 스크립트 문제

내 코드는 다음과 같습니다. 올바른 방향으로 나를 가리킬 수 있습니까?

dim filesys 

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

Set objFolder = objFSO.GetFolder(objStartFolder) 
Wscript.Echo "Copying only .WAV and .MP3" 

Set colFiles = objFolder.Files 

For Each objFile in colFiles 

If UCase(objFSO.GetExtensionName(objFile.name)) = "MP3" Then 
objFSO.CopyFile objFile.Path, "V:\Auto Audiowall Uploads\New Music\" 
objFSO.DeleteFile objFile.path 
End If 
If UCase(objFSO.GetExtensionName(objFile.name)) = "WAV" Then 
objFSO.CopyFile objFile.Path, "V:\Auto Audiowall Uploads\New Music\" 
objFSO.DeleteFile objFile.path 
End If 
If Ucase(objFSO.GetExtensionName(objFile.name)) != "MP3" Then 
objFSO.DeleteFile objFile.path 
End If 
If Ucase(objFSO.GetExtensionName(objFile.name)) != "WAV" Then 
objFSO.DeleteFile objFile.path 
End If 

Next 

Wscript.echo "Music Copied." 

답변

1

VBScript는 "같지 않음"에 대해 !=을 사용하지 않습니다. !=<>으로 바꾸어보세요. 당신은 결국 모든 파일을 삭제 한 것으로 나타났습니다 때문에

If MP3 Then 
    Copy 
ElseIf WAV Then 
    Copy 
End If 

DeleteFile 

:

사이드 노트 :

귀하의 논리로 단순화 할 수있다.

+0

<>을 어떻게 사용 하시겠습니까? 파일 확장자보다 크거나 작음을 가질 수 있습니까? –

+0

'<>'은 "보다 크거나 작음"을 의미하지 않습니다. 그것은 "같지 않음"을 의미합니다. 그림과 같이 두 문자를 함께 사용해야합니다. – Bond

+0

이며 파일 이름에는 사용할 수 없습니다. – Noodles

관련 문제