What protocol? Please attach a full session log file showing the problem (using the latest version of WinSCP).
To generate the session log file, enable logging, log in to your server and do the operation and only the operation that causes the error. Submit the log with your post as an attachment. Note that passwords and passphrases not stored in the log. You may want to remove other data you consider sensitive though, such as host names, IP addresses, account names or file names (unless they are relevant to the problem). If you do not want to post the log publicly, you can mark the attachment as private.
I tried SFTP and SCP. The port is not standard, 2222. I wiped the log and started from afresh. I updated to the most recent release 5.9.6 Build (7601)
On leaving the program running, it doesn't do anything more. So I killed the process using task manager. Just the "$" character seems to do it. This file "Fergie - M.I.L.F. $" does the same.
I also noticed in the log the "\" in the file name (Ten\$ion) on the "mv" command. Seems the use of the "$" in the filename is corrupting the string some how?
I hope this helps.
. 2017-06-30 10:59:13.897 Moving file "Die Antwoord - Ten$ion (FLAC + CUE)" to "/mnt/Turion-one/A-MUZIK/Die Antwoord - Ten$ion (FLAC + CUE)".
> 2017-06-30 10:59:13.898 mv -f "Die Antwoord - Ten\$ion (FLAC + CUE)" "/mnt/Turion-one/A-MUZIK/Die Antwoord - Ten\$ion (FLAC + CUE)" ; echo "WinSCP: this is end-of-file:$status"
! 2017-06-30 10:59:13.901 ion: Undefined variable.
. 2017-06-30 10:59:43.957 Waiting for data timed out, asking user what to do.
. 2017-06-30 10:59:43.957 Asking user:
. 2017-06-30 10:59:43.957 **Host is not communicating for 15 seconds.
. 2017-06-30 10:59:43.957
. 2017-06-30 10:59:43.957 Wait for another 15 seconds?** ()
. 2017-06-30 10:59:44.449 Data has arrived, closing query to user.