Szukam kodu VBScript, który będzie wyświetlał foldery najwyższego poziomu na dysku D: a nie podfoldery. Do tej pory używam następującego zapytania WMI, ale daje mi ono wszystkie foldery i schodzi na wiele poziomów. Wydaje się również, że po prostu przestaje z powodu, którego jeszcze nie określiłem.
Set colFolders = objWMIService.ExecQuery("Select * from Win32_Directory Where Drive = 'D:'")
EDYTOWAĆ:
Po dalszych poszukiwaniach znalazłem coś, co daje mi to, czego chciałem. Na wypadek, gdyby inni szukali tutaj, jest VBScript dla folderów i rozmiarów:
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
set objFolder = objFSO.GetFolder("D:\")
for Each folder in objFolder.SubFolders
On Error Resume Next
size = folder.size
if Err.Number <> 0 Then
size = -1
end if
wscript.echo folder.name,size
Next
Odpowiedzi:
Aby określić, że chcesz mieć tylko foldery najwyższego poziomu, musisz dodać
Path = '\\'
warunek doWHERE
klauzuli:Alternatywnie można użyć
ASSOCIATORS OF
zapytania, aby uzyskać foldery najwyższego poziomu jako podfoldery katalogu głównego dysku:Ale
FileSystemObject
rozwiązanie jest prawdopodobnie łatwiejsze.źródło