1 ! Copyright (C) 2011 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license
4 USING: combinators combinators.short-circuit command-line io
5 io.directories io.files io.files.info kernel math namespaces
11 "Usage: copy source ... target" print ;
13 : copy-to-dir ( args -- )
14 dup last file-info directory?
15 [ unclip-last copy-files-into ] [ drop usage ] if ;
17 : copy-to-file ( args -- )
18 dup last { [ file-exists? ] [ file-info directory? ] } 1&&
19 [ copy-to-dir ] [ first2 copy-file ] if ;
22 command-line get dup length {
23 { [ dup 2 > ] [ drop copy-to-dir ] }
24 { [ dup 2 = ] [ drop copy-to-file ] }