Haskell - 如何获取系统OS目录?

时间:2015-08-19 20:22:48

标签: haskell

directory库包含许多帮助方法来获取某些保留目录。但是,从最新版本(1.2.3.1)开始,似乎没有可以获取系统OS目录的函数;例如,“C:\ Windows”。我希望这是一个像getSystemDirectory这样的函数,但我没有看到任何等价物。至少在Windows上,用户可以将操作系统安装到非标准位置,因此,对其位置做出任何假设是不安全的。

是否有另一个库公开这样的函数?

2 个答案:

答案 0 :(得分:4)

Win32库包含此功能。

import System.Win32.Info

-- Calls Win32's GetWindowsDirectory() function in kernel32.dll
-- Corresponds to: C:\Windows
getWindowsDirectory :: IO String

-- Calls Win32's GetSystemDirectory() function in kernel32.dll
-- Corresponds to: C:\Windows\system32   
getSystemDirectory :: IO String

答案 1 :(得分:1)

找到特定于操作系统的操作的正确方法是告诉hoogle您正在谈论的操作系统。希望当一个人正在寻找特定于操作系统的东西时很明显。在这种情况下,您可以通过简单的os:windows system directory获得成功。