Avatar billede systemnissen Nybegynder
29. august 2003 - 12:05 Der er 5 kommentarer og
2 løsninger

Script som henter antallet af partitioner

Hej

Jeg vil meget gerne lave et script som fortæller mig hvor mange partitioner der findes på pc'en. Det skal bruges ifbm. en unattended installation. Men jeg kan ikke finde ud af hvordan dette gøres.

Scriptet skulle gerne returnere en værdi: 1, 2, 3 osv. og evt. også størrelsen.

Kan nogen hjælpe??

Mvh
Systemnissen
Avatar billede driis Nybegynder
29. august 2003 - 12:47 #1
Du kunne f.eks. bruge noget lignende dette (kopier det ind på en tom form for at teste):

Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Sub Form_Load()
    Me.AutoRedraw = True
    Dim i, c As Integer
    Dim drives(25) As String
    Dim drvType(25) As String
    Const root As String = ":\"
   
    i = c = 0
   
    For i = 0 To 25
        If (GetLogicalDrives And 2 ^ i) Then
            drives(c) = Chr(Asc("A") + i) + root
            c = c + 1
        End If
        drv = drv * 2
    Next i
   
    For i = 0 To c - 1
        Select Case GetDriveType(drives(i))
            Case 2
                drvType(i) = "Removable"
            Case 3
                drvType(i) = "Drive Fixed"
            Case Is = 4
                drvType(i) = "Remote"
            Case Is = 5
                drvType(i) = "Cd-Rom"
            Case Is = 6
                drvType(i) = "Ram disk"
            Case Else
                drvType(i) = "Unrecognized"
            End Select
        Me.Print drives(i) + " = " + drvType(i)
    Next i
   
End Sub


... det skulle være rimelig nemt at ændre til det du skal bruge det til. Alle drev der er "Drive fixed" er harddisk partitioner.
Avatar billede driis Nybegynder
29. august 2003 - 12:48 #2
linien:
  drv = drv * 2
kan du slette, den kom med ved en fejl.
Avatar billede systemnissen Nybegynder
29. august 2003 - 13:56 #3
Tak for hurtig hjælp, jeg vil lige teste og så vender jeg tilbage til dig.

Mvh
Systemnissen
Avatar billede systemnissen Nybegynder
01. september 2003 - 12:00 #4
hmm... jeg kan ikke få Lib "Kernel32" til at spille... det skulle gerne kunne afvikles som script.
Avatar billede driis Nybegynder
01. september 2003 - 16:32 #5
Jeg tror ikke du kan få lov at bruge Windows API funktioner i VBScript. Men det er der måske en herinde, der ved noget om ?
Avatar billede nanosoft00 Nybegynder
01. september 2003 - 21:26 #6
så skulle du nok have lagt den ind under ASP, da det er vbscript.

men det du skal bruge er filesystemobject
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/fsooriscriptingrun-timereference.asp

eksempel fra MSDN
----------------------------------------
Function ShowDriveList
  Dim fso, d, dc, s, n
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set dc = fso.Drives
  For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - "
      If d.DriveType = 3 Then
        n = d.ShareName
      ElseIf d.IsReady Then
        n = d.VolumeName
      Else
        n = "[Drive not ready]"
      End If
      s = s & n & "<BR>"
  Next
  ShowDriveList = s
End Function
Avatar billede systemnissen Nybegynder
02. september 2003 - 10:32 #7
Tak for hjælpen begge to... jeg har brugt lidt fra jer hver og fordelt pointene 20/40. Håber det er ok...

Mvh
Systemnissen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester