"The system cannot write to the specified device." could indicate a problem with user permissions or disk access/space. You could try running the script as an administrator.
"The system cannot find the file specified." sounds like it could still be having trouble changing the code page. Replace the line "@chcp 65001>nul" with "chcp 65001" so that it returns the result of that command to make sure it's working. If it works, it
should show "Active code page: 65001".
I tested this against a filename with Cyrillic characters. Since I can't speak, read, or write Russian, I used random characters ("ДЖБЍШЪЫЭ.jpg"). The batch script still worked fine for me. Please double check that the batch script
and the "image.txt" file are both encoded as "UTF-8" files
without the Byte-Order Mark (BOM). If those are set correctly, please provide some sample filenames that are causing trouble for you. For context, I'm on Windows 10 with my system language/locale set in English.
There are ways to install Bash on Windows 7 (MSYS/MinGW/MSYS2,
Gow, Git Bash, Cygwin, etc.). I already have Bash available because I write code, but I can understand that it might be a hassle for most users to install additional software.