[VBS ] Run time..一直出現型態不符合

看板Visual_Basic作者 (有時會倔強過了頭...)時間13年前 (2012/03/28 18:43), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/1
請教各位前輩 我想找出C:\book 裡頭的Folder 符合條件就刪掉 (條件是如果folder 名稱不是"user guide" 或 不包含 "quick" 就刪掉Folder) 但是一直出現錯誤訊息 GetFolderList.vbs(9, 2) Microsoft VBScript 執行階段錯誤: 型態不符合: '[string: "c:\book\test\test"]' 請問我是什麼地方出錯了呢?. ? 謝謝 Option Explicit Dim objFSO, objFolder, objSubFolders, objSubFolder, DeleteDirectory Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("C:\book") Set objSubFolders = objFolder.SubFolders For each objSubFolder In objSubFolders wscript.echo objSubFolder if (StrComp(LCase(objSubFolder),"c:\book\user guide")<>0 or Instr(LCase(objSubFolder),"quick",1)=0 ) then if objFSO.Folder.Exists(objSubFolder) then objFSO.DeleteFolder objSubFolder, True End if End if Next Set objFSO = Nothing -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.63.100.2 ※ 編輯: Qiu0 來自: 210.63.100.2 (03/28 18:45) ※ 編輯: Qiu0 來自: 210.63.100.2 (03/28 18:54)

03/28 19:12, , 1F
ObjSubFolder型態是什麼?你確定他就是一個字串?
03/28 19:12, 1F

03/28 21:45, , 2F
Yes 用VarType() 回傳值8=》 VbString
03/28 21:45, 2F

03/28 22:22, , 3F
SubFolder 應該是個 Folder 型態...
03/28 22:22, 3F

03/28 22:23, , 4F
objSubFolder.Path 才會得到路徑
03/28 22:23, 4F

03/28 22:32, , 5F
板主講的沒錯,另外看一下MSDN範例 http://goo.gl/cvvSM
03/28 22:32, 5F

03/28 22:37, , 6F
?? wscript.echo objSubFolder 這樣Echo出來的確是路徑啊
03/28 22:37, 6F

03/28 22:40, , 7F
其實objSubFolder.Path objSubFolder.Name我都試過~
03/28 22:40, 7F

03/28 22:40, , 8F
都會有一樣的錯誤訊息 @@
03/28 22:40, 8F

03/28 22:47, , 9F
oh oh 找到了 把Instr的第三個參數 "1" 拿掉就過了 @@
03/28 22:47, 9F

03/29 02:15, , 10F
什麼…原來是這樣的嗎…
03/29 02:15, 10F
文章代碼(AID): #1FSkjXxS (Visual_Basic)