It turns out the move command in batch always overwrites the destination by default, how fuck have I been using windows for 20 years without ever discovering this? I have written so many batch files over the years, how could such a simple behavior have avoided my attention for so long, also WTF. Overwrite the default? There is not even a proper way to move a file without overwrite, the standard solution is this abomination.
Echo n|MOVE /-y c:\file1.txt c:\dir\file1.txt
Also who the fuck thought it was a good idea to change the behavior of a command when running in a batch file, I bet many thousands of people have lost data over the years to this retardation. Commands in batch should not work differently to executing directly in the command prompt, utter retards.