:- lib( mktemp/2 ). mktemp_in_dir( Tmpl, Dir, Fname ) :- absolute_file_name( Dir, AbsDir ), ( exists_directory(AbsDir) -> % atom_codes( Tmpl, TmplCs ), % atom_codes( AbsDir, AbsDirCs ), % flatten( [AbsDirCs,"/",TmplCs], DirTemplCs ), % atom_codes( DirTempl, DirTemplCs ), directory_file_path( AbsDir, Tmpl, DirTempl ), mktemp( DirTempl, Fname ) ; mktemp( Tmpl, Fname ) ).