How can automation be done without batch file?
You run your batch file somehow - we do not know how - you have never told us.
A point of a batch file is to execute multiple commands. Yet your batch file has only one command - executing WinSCP. So the batch file is pointless. Instead of executing your single-command batch file, execute WinSCP directly - Replace execution of your batch file with execution of
winscp.exewith the same arguments as you have in your batch file.
winscp.exeruns completely silently without any window.