Drive-PulldownWindow

German support forum

Moderators: Hacker, Stefan2, white

User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Ein paar Infos über die auf Laufwerksbuchstaben gemappten Laufwerke kann man sich auch in einer benutzerdefinierten Spalte durch das Inhalts-Plugin ScriptWDX anzeigen lassen. Dazu kann man Dummy-Dateien benutzen, die die Laufwerke repräsentieren. Das Ergebnis könnte dann z.B. so aussehen:
http://img14.imageshack.us/img14/9260/driveinfo6qi.png


So geht's:

1. Zunächst lege man sich 26 Dummy-Dateien mit den Dateinamen <[-A-]> bis <[-Z-]> an, am besten in einem neuen Verzeichnis.


2. Dann definiere man eine benutzerdefinierte Spalte mit dem Feldinhalt
"[=script.Result]"


3a. Nun kann man das Script <DriveInfo.vbs> werkeln lassen:

Code: Select all

'Script for Script Content Plugin
'(c)Lev Freidin, 2005
'http://www.totalcmd.net/plugring/script_wdx.html
'http://wincmd.ru/plugring/script_wdx.html

Dim fso, dc
Set fso = CreateObject("Scripting.FileSystemObject")
Set dc = fso.Drives

For Each d In dc

   'Verfügbare Eigenschaften (mit '+' gekennzeichnete Eigenschaften werden durch das Script angezeigt)
   '+ d.AvailableSpace
   '+ d.DriveLetter
   '+ d.DriveType
   '+ d.FileSystem
   '- d.FreeSpace
   '+ d.IsReady
   '- d.Path
   '- d.SerialNumber
   '+ d.ShareName
   '+ d.TotalSize
   '+ d.VolumeName

   If filename = "[-" & d.DriveLetter & "-]" Then

      Select Case d.DriveType
         Case 0: strDriveType = "Unbekannt"
         Case 1: strDriveType = "Wechselplatte"
         Case 2: strDriveType = "Festplatte"
         Case 3: strDriveType = "Netzwerk"
         Case 4: strDriveType = "CD-ROM"
         Case 5: strDriveType = "RAM-Disk"
      End Select

      'strDriveInfo = d.DriveLetter & " • " & strDriveType
      strDriveInfo = strDriveType

      If d.IsReady Then

         If d.DriveType = 3 Then
            strDriveInfo = strDriveInfo & " [" & d.ShareName & "]"

         Else
            If d.VolumeName = "" Then
               strDriveInfo = strDriveInfo & " [_ohne_]"
            Else
               strDriveInfo = strDriveInfo & " [" & d.VolumeName & "]"
            End If

         End If

         strDriveInfo = strDriveInfo & " • " & d.FileSystem

         intExp = Fix(Log(d.TotalSize) / Log(1024))
         Select Case intExp
            Case 0: strUnit = " Bytes"
            Case 1: strUnit = " KiB"
            Case 2: strUnit = " MiB"
            Case Else
               intExp = 3
               strUnit = " GiB"
         End Select

         strDriveInfo = strDriveInfo & " • " & FormatNumber(d.TotalSize / (1024^intExp), 2) & strUnit & " gesamt"

         'strDriveInfo = strDriveInfo & " • " & FormatNumber(d.FreeSpace / (1024^intExp), 2) & strUnit
         'strDriveInfo = strDriveInfo & " (" & FormatPercent(d.FreeSpace / d.TotalSize, 0) & ") verfügbar"
         strDriveInfo = strDriveInfo & " • " & FormatNumber(d.AvailableSpace / (1024^intExp), 2) & strUnit
         strDriveInfo = strDriveInfo & " (" & FormatPercent(d.AvailableSpace / d.TotalSize, 0) & ") verfügbar"

         'strDriveInfo = strDriveInfo & " • " & FormatNumber((d.TotalSize - d.FreeSpace) / (1024^intExp), 2) & strUnit
         'strDriveInfo = strDriveInfo & " (" & FormatPercent(1 - d.FreeSpace / d.TotalSize, 0) & ") belegt"
         strDriveInfo = strDriveInfo & " • " & FormatNumber((d.TotalSize - d.AvailableSpace) / (1024^intExp), 2) & strUnit
         strDriveInfo = strDriveInfo & " (" & FormatPercent(1 - d.AvailableSpace / d.TotalSize, 0) & ") belegt"

      Else
         strDriveInfo = strDriveInfo & " • Laufwerk nicht bereit (Kein Datenträger eingelegt)"

      End If

   End If

Next

content = strDriveInfo
(Mit Sicherheit lässt sich da noch was optimieren...)


3b. Die zum o.g. Script passende <Script.ini>:

Code: Select all

[Script]
Section=DriveInfo

[Defaults]
LongName=1
ParseDirs=0

[DriveInfo]
LongName=0
ParseDirs=0
Script=driveinfo.vbs
veganchris
Junior Member
Junior Member
Posts: 13
Joined: 2006-01-17, 11:19 UTC
Location: Wien
Contact:

Post by *veganchris »

danke einmal, das ist ein funktionierender workaround. ich würde nur gerne wissen ob es möglich ist, wenn man dann in das verzeichnis wechselt, dass die spaltendefinitionen automatisch umgestellt werden, und beim verlassen desjenigen wieder die original-einstellungen.

lg
chris
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

2veganchris
spaltendefinitionen automatisch umgestellt werden
Da haste 2 möglichkeiten:
1. Definiere einen eigenen tab, oder
2. lass diesen AutoHotkey script laufen, nachdem du ihn angepasst hast:
http://www.ghisler.ch/wiki/index.php/AutoHotkey:_Automatic_directory-specific_configuration_/_actions
I switched to Linux, bye and thanks for all the fish!
Post Reply