Advertisement
Guest User

Untitled

a guest
Mar 30th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. find_info(File) ->
  2. case file:read_file_info(File) of
  3. {ok, Facts} ->
  4. case Facts#file_info.type of
  5. directory -> directory;
  6. regular -> regular
  7. end;
  8. {error,Reason} -> exit(Reason)
  9. end.
  10.  
  11. find_files(Dir,Flag,Ending,Acc) ->
  12. case file:list_dir(Dir) of
  13. {ok,A} -> find_files_helper(A,Dir,Flag,Acc,Ending);
  14. {_,_} -> Acc
  15. end.
  16.  
  17. find_files_helper([H|Tail],Dir,Flag,Acc,Ending) ->
  18. A = find_info(filename:absname_join(Dir,H)),
  19. case A of
  20. directory ->
  21. case Flag of
  22. true ->
  23. find_files(filename:absname_join(Dir,H),Flag,Ending,Acc ++ find_files_helper(Tail,Dir,Flag,Acc,Ending));
  24. false -> find_files_helper(Tail,Dir,Flag,Acc,Ending)
  25. end;
  26. regular ->
  27. case filename:extension(H) of
  28. Ending -> find_files_helper(Tail,Dir,Flag,[to_md5_large(H)] ++ Acc, Ending);
  29. _ -> find_files_helper(Tail,Dir,Flag,Acc,Ending)
  30. end;
  31. {error,Reason} -> exit(Reason)
  32. end;
  33. find_files_helper([],_,_,Acc,_) -> Acc.
  34.  
  35. home/
  36. a/
  37. ser.erl
  38. b/
  39. c/
  40. file.erl
  41. file2.erl
  42.  
  43. home/
  44. a/
  45. ser.erl
  46. back.erl
  47. b/
  48. c/
  49. file.erl
  50. file2.erl
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement