add touch_file_dir function