ffmpeg: preserve timecode when converting mp4 to mov
In case someone else comes looking for this, timecode in mp4 and mov files is often a "data" track, and ffmpeg usually drops data tracks. To keep all tracks, I usually use these switches to map tracks from the source to tracks in the destination

-map 0:v (video switches)
-map 0:a (audio switches)
-map 0:d (this keeps the data track)


Which also has the advantage of keeping all the source audio tracks, rather than the default of only the first one. So your command might look like

ffmpeg -i [filenmae] -map 0:v -codec:v copy -map 0:a -codec:a copy -map 0:d [outputDirectory]


EDIT: In modern ffmpeg you can also add a question mark (like -0:a?) which means ffmpeg will keep going if it doesn't find a track like you asked it to copy