2009-01-26 67 views
0

在我的代碼,我得到了以下錯誤消息的VBScript:意外的標識

c:\dpdata_copy2.vbs(114,13) Microsoft VBScript compilation error: Expected identifier

線114分,以一個空行,所以我assuemd它是在下面的行拋出一個錯誤:

Lastprop = f.DateLastModified 

在代碼

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 

strFolderName = "D:\1\production\Openjobs" 

Set colSubfolders = objWMIService.ExecQuery _ 
    ("Associators of {Win32_Directory.Name='" & strFolderName & "'} " _ 
     & "Where AssocClass = Win32_Subdirectory " _ 
      & "ResultRole = PartComponent") 

    'variables for getting last accessed property 
    Dim fs, f 
    Set fs = CreateObject("Scripting.FileSystemObject") 

For Each objFolder in colSubfolders 

    'get last modified date 
    Set f = fs.GetFolder(objFolder.Name) 
    Lastprop = f.DateLastModified 
    'MsgBox(Lastprop) 

      if (DateDiff("m", f.DateLastModified, Now()) > 4) then 
       diffindates = DateDiff("m", f.DateLastModified, Now()) 
       Set objShell = CreateObject("Shell.Application") 
       Set objCopyFolder = objShell.NameSpace(ParentFolder) 

       OutputToLog("rem " & f.DateLastModified & ":" & objFolder.Name) 

       outputtolog("move /Y """ & objFolder.Name & """ " & ParentFolder) 

       wscript.echo(diffindates & ":" & objFolder.Name & vbCr) 

      end if 

Next 

任何想法?還是應該將整個劇本發佈?

+0

什麼objFolder更換呢?它的名稱屬性是否有值? – 2009-01-26 17:14:50

+0

文件夾是否存在? – Glennular 2009-01-26 17:16:54

+0

objFolder是「for each」循環中的對象鍵。在這種情況下,「對於Colsubfolders中的每個objFolder」和colsubfolders = objWMIService.ExecQuery(「{Win32_Directory.Name ='」&strFolderName&「'}」&「Where AssocClass = Win32_Subdirectory」和{「ResultRole = PartComponent」)的關聯者) – phill 2009-01-26 17:18:19

回答

0

您是否正在使用Windows腳本宿主運行此操作?如果是這樣,請將// D作爲參數添加到CSCRIPT或WSCRIPT中,以激活調試模式,讓您在Visual Studio或任何已安裝的Windows腳本調試程序中查看堆棧和查看所有變量等。

0

此代碼的工作對我來說:

strFolderName = "C:\Temp" 
strComputer = "MyComputerName" 

set fs = CreateObject("Scripting.FileSystemObject") 

set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" _ 
    & strComputer & "\root\cimv2") 

set colsubfolders = objWMIService.ExecQuery ("Associators of " _ 
    & "{Win32_Directory.Name='" & strFolderName & "'} " _ 
    & "Where AssocClass = Win32_Subdirectory " _ 
    & "ResultRole = PartComponent") 

For each objFolder in colsubfolders 
    Set f = fs.GetFolder(objFolder.Name) 
    Lastprop = f.DateLastModified 
    wscript.echo Lastprop 
Next 
-1

刪除線


Set f = fs.GetFolder(objFolder.Name) 

以及任何你使用f內的for循環與objFolder