Question: is there a way to execute the batch(\*.bat) file from a sharepoint designer workflow? 

I've a specific column in the sharepoint list, a batch file should be executed whenever the value of the field is changed. I just want to design a sharepoint designer workflow to be triggered whenever the value of the site column is changed and it should execute the batch file.

Or is there batter approach to follow?

Answer: 
I would suggest that you create a custom workflow activity to do the stuff instead of a batch file. Since your only gathering info from a list and producing a file this should be quite easy.
I would NOT recommend allowing the executing of .bat or powershell scripts from a workflow activity.

In some respects, this is a very huge security hole - someone could very easily inject their own code into your batch/script file to execute after yours, and depending on the context of the script, could wreak havok on your farm.

Instead, I would go with Wictor's suggestion of a custom workflow activity to maximise security.