(provide "ffc")
(defvar *ffc-path*)
(defun get-win-path (path)
(let (temp-buf path-factors)
(setq temp-buf (create-new-buffer "*temp*"))
(save-excursion
(set-buffer temp-buf)
(insert path)
(goto-char (point-min))
(while (scan-buffer "\\([^/]*\\)/" :tail t :regexp t)
(push (match-string 1) path-factors)
(and (< (point) (point-max))
(push "\\" path-factors)))
(push (buffer-substring (point) (point-max)) path-factors))
(delete-buffer temp-buf)
(reduce 'concat (reverse path-factors))))
(defun copy-with-ffc ()
(interactive)
(if (boundp '*ffc-path*)
(and
(filer-get-mark-files)
(call-process
(format nil "\"~A\" ~A /to:\"~A\""
*ffc-path*
(reduce #'(lambda (a b) (concat a " " b))
(mapcar #'(lambda (a) (format nil "\"~A\"" (get-win-path a)))
(filer-get-mark-files)))
(get-win-path (filer-get-directory t)))
:exec-directory (directory-namestring *ffc-path*)))
(msgbox "*ffc-path* が定義されていません")))