It may be done, but with some caveats. You have stated that "...these files [are] in my folder", which would be one of such caveats. We could use
globstar and iterate over the expanded filenames:
$ c=0;for f in *; do ((c++)); echo "$f" "--->" file"$c".txt ; done
cat.txt ---> file1.txt
dog.txt ---> file2.txt
house.txt ---> file3.txt
tree.txt ---> file4.txt
Of course you could always go the "manual" way via a
list.txt, where you can store a list of filenames and read that file via the
while IFS= read -r ; do ... done < list.txt
$ c=0; while IFS= read -r f; do ((c++)); echo "$f" file"$c" ; done < input.txt
Of course this list theme can be extended in many ways - csv lists, json files,key-value lists - you name it. There's plenty of questions about these online. There's of course other choices you have to make, like give full path to files or perform everything in the same directory as the list.
Finally, I already hinted at key-value lists. With
bash and other more modern scripting languages like Python or Perl, you could have a hash ( or dictionary ) with list of files and corresponding new name that you wish the file to have.