Your syntax makes no sense.
>CD ~Desktop/TEST
all UNIX commands are lower case. CD should throw and error on its own. Also ~Desktop/TEST isn't a valid path.
> do TESTFILE.pdf
do is a statement unto itself. It doesn't take any parameters, so its complaining about why 'TESTFILE.pdf' is passed in here.
> cp -a ../TESTFILE.pdf_${num}_TESTFILE.pdf
the cp command requires two parameters (in addition to any optional switches). It requires a source file to copy, and a destination to copy it to. As written, your script passes in a single parameter '../TESTFILE.pdf_${num}_TESTFILE.pdf'
It should work if you correct these errors:
cd ~/Desktop/TEST
for num in {01..60};
do
cp -a TESTFILE.pdf _${num}_TESTFILE.pdf
done
spaces and capitalization matter.
Note that this will simply prefix a number on the file name. not an alpha string.
> Even better, I'd see how to add the text to all 60 odd files via a CSV, applying one row to the front of each filename?
Assuming your file contains a single prefix per line, and is saved as prefix.txt, you can rewrite the loop as:
while read prefix
do
cp TESTFILE.pdf ${prefix}TESTFILE.pdf
done < prefix.txt
Note that the prefix strings must be single words. spaces and other non-shell safe characters will break this.