Directory(2)
コメントをいただき、ファイル削除の方法がわかりましたので、
さっそく、コマンドオプションでrecursiveが使えるように、rmプログラムを修正。
自分で高階関数作ったのは初めてかも。
import Directory import System.Environment main = do command <- getArgs flist <- getDirectoryContents "." switch flist command switch :: [FilePath] -> [FilePath] -> IO() switch _ [] = print " ! filename which you are to delete" switch flist [f] = remove removeFile flist f switch flist (f:fs) = if head fs == "recursive" then remove removeDirectory flist f else print "command is wrong" remove :: (FilePath -> IO()) -> [FilePath] -> FilePath -> IO() remove f flist fname = case any (==fname) flist of True -> f fname False-> print $ fname++" isn't exist."
これでファイル削除なども出来るようになったので、そろそろ統一ファイル管理システムを作りたいなと思うのですが、いい構想が思いつかない.....
考えているのは、
ファイル探索
フォルダ作成
ファイル削除
名前変更
ソート出力
など?