我写了一个vbs。
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oWS = CreateObject("WScript.Shell")
Set objFolderUsers = FSO.GetFolder("\\"& strComputer &"\C$\Users\").Subfolders
...
后来,我做了类似的事情:
For Each objFlder In objFolderUsers
user = Right(objFlder, Len(objFlder) - InStrRev(objFlder, "\"))
temp = objFlder & "\AppData\Local\Temp\"
'That's the line !...
If FSO.FolderExists(temp) Then FSO.DeleteFolder(temp)
If Not IsExcludeProfile(user) Then
If Left(objFlder.DateLastModified, 4) <= minYear Then
oWS.Run "%comspec% /c rmdir " & objFlder & " /s /q", 0, True
oWS.Run "%comspec% /c net user " & user & " /delete", 0, True
End If
End If
Next
我的问题是: FSO.DeleteFolder(temp)和 oWS.Run“%comspec%/ c rmdir”&amp; temp,1,True 因为当我做第一件事情都没问题但是当我做第二件事(oWS.Run)和objFlder =“Default”时它全部被删除,而不仅仅是我想要的Temp。 ..
答案 0 :(得分:0)
尝试将封闭引号放在传递给rmdir的文件名中,因为空格可能会终止它在结束之前收到的字符串:
oWS.Run "%comspec% /c rmdir """ & objFlder & """ /s /q", 0, True
提醒一下&#34;&#34;在vbs中的字符串文字内部意味着单个&#34;在字符串的内容中。