2013-09-05 13 views
7

Wie kann ich Festplatten in Haskell auflisten? Ich möchte Laufwerksbuchstaben unter Windows bekommen und bekomme nur "/" unter Linux. Ist es möglich? Ich konnte es nirgends finden.Haskell-Liste Laufwerke in Windows

+0

Es scheint, dass Sie [GetLogicalDriveStrings' wollen] (http://msdn.microsoft.com/en-us/library/aa364975%28VS.85%29.aspx) , aber es ist nicht in [System.Win32.File'] eingeschlossen (http://hackage.haskell.org/packages/archive/Win32/2.2.2.0/doc/html/System-Win32-File.html). –

+0

Gibt es eine Möglichkeit, es ohne Win32 zu tun? Ich frage, weil ich es nur auf Windows kompilieren kann und ich werde Portabilität verlieren ... – remdezx

+0

Nicht, dass ich davon weiß, und ich bezweifle es. Sie können jedoch 'CPP'-Pragmas verwenden. –

Antwort

4
import System.Process 
c = do 
    res <- readProcess "wmic" ["logicaldisk","get","caption"] "" 
    --print res 
    -- clean up the output 
    print $ init $ map (take 2) $ drop 1(lines res) 
+0

Das habe ich gesucht! Vielen Dank! – remdezx

1

Sie könnten nur versuchen, alle 26 möglichen Laufwerksbuchstaben aufzuzählen und zu sehen, wenn sie doesDirectoryExist von System.Directory Verwendung existieren. I glaube, das würde funktionieren ...

+0

Es scheint viel besser als Win32 Wrapper, danke! – remdezx

Verwandte Themen